Windows Keyboard Shortcut

Salam Sejahatera

Yang ini mungkin bapak² dan ibu² serta adik² semua sudah tahu. Tapi saja je seronok nak tulis pasal benda ni.

Ini adalah Windows Key yang ada di kebanyakan semua PC alaf baharu. Butang ini kiranya memang wajib untuk ada untuk semua pengguna Windows.

Kalau ikut yang empunya cerita, benda ini wujud semenjak dari tahun 1994 lagi di mana ketika itu, Microsoft memperkenalkan Microsoft Natural keyboard pada tahun tersebut.

Kiranya keyboard ni agak ergonomic la di zaman itu. Mungkin oleh kerana pada zaman itu, ramai pengguna PC yang selalu komplen sakit pergelangan tangan, maka tercipta la Keyboard ini.

Secara amnya, saya memang tak suka keyboard yang pelik² ini kerana tak kena dengan jiwa. Pada saya, keyboard mesti yang mekanikal dan mesti ada ketak-ketak ketika menaip. Baru la seronok dan gembira sewaktu menaip. Feedback itu penting.

By DeanW77 – Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=49643109
Logitech G610 Orion Blue Mechanical Gaming Keyboard

Windows Key + D vs Windows Key + M

Selama ini, saya hanya ambil maklum akan fungsi Windows Key + M ini untuk minimize semua windows yang ada di desktop. Kemudian terbaca pula satu post di facebook akan penggunaan Windows Key + D ini.

Menurutnya, fungsi Windows Key + D ini adalah untuk “Show Desktop” manakala Windows Key + M adalah untuk minimize semua Windows.

Namun Windows Key + M ini mungkin tidak berkesan kepada program² yang ignore akan arahan ini. Ini adalah kerana programmer boleh menulis code untuk program mereka ignore command WM_MINIMIZE.

Maka dengan ini bolehlah Bapak², Ibu² dan adik² semua cuba command ini untuk minimize semua windows sewaktu emergency, macam boss datang ke meja kerja ke, bini datang tengok screen ke atau apa² sahaja keperluan kecemasan, di mana adalah menjadi keperluan untuk menyorok Windows yang berkenaan.

Hyperspin Attraction – Antara Arcade Games yang Anda Boleh Cuba

Salam MCO semua warga Netizen.

Saya mula menulis sebagai wadah untuk menjauhkan diri daripada perkara² yang tidak baik seperti kemurungan dan seterusnya stress yang melampau. Saya tidak terima saranan orang yang mana jika anda depress, itu sebab kamu jauh dari Tuhan. Senang sungguh berkata² tapi ketahuilah, bahawa orang yang stress itu lagi dekat dengan Tuhan. Itu penyakit emosi, dan memerlukan intervensi dari pelbagai pihak.

Oklah. Itu perkara lain yang tidak ada kena mengena dengan penulisan ini.

Main Game Free

Masihkan anda semua ingat dikala kita melawat arcade di pusat membeli belah, kurang-kurang kita akan habis dalam RM10.00 – RM100.00. Bergantung kepada skill dan masa yang ada, jika gila mungkin lebih dari RM100.00.

Dengan Emulator ini, kita boleh main game sampai lebam. Selagi mana ada punca letrik dan masa, selama itulah anda boleh bermain. Boleh continue tanpa secara percuma, tak perlu token, tak perlu arcade prepaid card dan sebagainya.

Token Arcade ni selalunya paling murah RM 0.50 dan paling mahal ialah RM 2.00. Tengok la dimana korang main. Kalau genting mungkin 1 credit = RM 2.00. Sesetengah game arcade, kalau yang moden, mau kena bayar RM4.00 sekali main.

Kalau tempat yang moden² tu, dah tak pakai syilling token ni, maju sikit, pakai prepaid card. Tengak harga dia di sebalah RM1.00 = 1 Credit.

Game yang baru² mau 5 Credit satu kali jalan. Game lama, mungkin 2 Credit. Macam tu la harga dia lebih kurang. Ada SST lagi 6%.

Mau koyak poket kalau main game macam ni. Aku memang suka main game, dari kecik. Tak makan pon takpe janji boleh main game kalau zaman dulu. Zaman takde tanggungjawab. Carefree and Live Free.

Dah la COVID, mana ada can nak goyang kayuria (joystick). Semua Amusement Park tutup. Dobi pon tutup. Sana sini tutup, tapi case naik hari². So, inilah dia, a form of escapism untuk semua orang. Install Emulator, main game.

Nak main Xbox, anak² rebut nak main sama. Takpelah, kasi can la depa main. Nak main game dekat PC, kadang² bosan juga. Orang kata Xbox takdak game.. hehehhehe.

Antara Game yang Ada di Xbox Game Pass Ultimate di PC

Kalau ikut Game Library, ada lebih kurang 656 game yang saya ada. Itu Pun kadang² tak tau nak main game apa.

GOG kata saya ada 600 lebih Game

Oleh itu, saya memerlukan sesuatu yang simple dan seronok serta cepat. Tak perlu jalan cerita itu dan ini. Tak perlu buat quest itu dan ini. Game² yang macam tu, perlu masa yang panjang. Dan dikala waktu bekerja, tak boleh kita main game² seperti itu.

Masa rehat, 1 jam, WFH so boleh la guna Emulator untuk main game dalam 10 min – 20 min. Video di bawah adalah antara game² yang boleh kita main dengan Hyperspin Attraction.

Download, Extract dan run dari sini: https://www.arcadepunks.com/attract-mode-for-pc-newest-first/

Pakai la torrent, maksimumkan penggunaan Internet anda.

Download

  1. [12gb]-Hyperspin.Attraction-MotleyKru – [11 Gb]
  2. Hyperspin.Attraction.Update.v1-MotleyKru [6.61 Gb] dan
  3. Hyperspin.Attraction.Update.v2-MotleyKru [17 Gb]

Extract No: 1 dekat dlm PC. Kemudian Extract #2 atas #1 dan begitu juga extract #3 dekat #1. Overwrite je semua.

Pastu run “HyperSpin Attraction_64.exe”… dan enjoy.

Aaaa. lagi satu, jangan lupa untuk adakan bendalah di bawah ini. Ini penting. Apa barang main game pakai Keyboard.

Nak lagi gila, boleh pakai Joystick Terus. Ini legendary punya level.

Selamat Berhibur… Tapi jangan lupa tanggungjawab yang lain. Macam buang sampah ke, basuh pinggan ke, jemur kain dan macam² lagi kerja dirumah. Isteri yang Gembira bermakna masa main game yang panjang. Yeahaaaa.

Hyperspin Attraction – Pre-Konfigured Emulator

Hari ini, saya hendak berkongsi tentang satu Front-End untuk pelbagai jenis Arcade System, Hyperspin Attract Mode, dari MotleyKru.

Ada lebih kurang 529 title dari arcade board di bawah:

  • Arcade (MAME 0.228 set)
  • Sega Model 2
  • Sega Model 3
  • Sega Naomi
  • Sammy Atomiswave

Ini termasukklah Daytona USA, Daytona USA 2, Virtua Striker, Virtua Cop dan sebagainya.

Boleh dapatkan di sini jika mahu cuba – https://www.arcadepunks.com/attract-mode-for-pc/

Hyperspin Attraction Update 1 from The MotleyKru

Spek sistem saya adalah seperti berikut:

CPU: AMD Ryzen 5 3600
GPU: ROG Strix GeForce RTX™ 2060
RM: G.SKILL AEGIS Series 16GB DDR4
MOBO: MSI B450 TOMAHAWK MAX

Jika spek yang louya ni pon boleh Run Emulator ini, maka mungkin Bapak² di luar sana dengan Spek yang lebih hebat lagi boleh run program ini tanpa sebarang masalah.

Yakuza: Like a Dragon (Music Proficiency Exam) – Tier 1

Ini adalah salah satu exam yang ada untuk improve character Kasuga Ichiban ini. Exam kali ini adalah mengenai musik.

Jika hendak menjawab soalan² ini dengan jayanya, kita harus pengetahuan yang luas di dalam bidang musik. Sesiapa pun yang suka membaca dan ambil tahu pasal musik pasti dapat menjawab soalan²nya.

Jika lulus maka boleh la improve Kindness: 50 dan Style: 50

PlayStation: Interactive CD Sampler Pack VOL. 3

Dulu² waktu 1st time beli PlayStation ni, sebagai hadiah lulus SPM Pangkat 1. Waktu tu game semua pirated. Tapi ada 1 CD yang original, black disk. Teruja juga waktu play disc ni 1st time.

Kira gempak la technology dia waktu itu. Iyalah, biasa main Sega MegaDrive je, itu pun balik² Sonic 3 and Knuckles. Habis semua area kita jelajah, baik dengan Sonic, Tails atau Knuckles. Sampai hafal la dekat mana Ring Gergasi tu dok ada.

Inilah dia Video dari Sampler Pack yang cukup gempak di kala itu.

Betol menggamit memori RetroArch ni.

Yakuza: Like a Dragon (Poundmate – Twin Dragon Crossfang)

Kali ini kita nak tunjuk lagi satu Poundmate di dalam siri Yakuza: Like a Dragon.

Dikenali sebagai Chau Ka Long, kepala Kumpulan Snake Flower Triad. Kalau korang main siri Yakuza yang dulu², maka ini antara geng² jahat la suatu masa dahulu.

Di dalam Yakuza: Like a Dragon, dia adalah seorang penjual senjata di pasaran gelap – takmo la cerita macam mana nak unlocked dia, tapi ini adalah password dia bila ditanya nanti: “Lau Chau Chau Ya”

 Poundmate – Twin Dragon Crossfang

Main Game Retro dengan RetroArch

Dulu² waktu zaman kanak² teringat minta duit dekat arwah mama sebab nak pergi main game RM 2.00/sejam dekat Lee Computer. Memang seronok zaman tu. Ada time kalau teman Mama pergi buat rambut mesti kita minta syarat, ok kasi 2 Ringgit sebab nak pergi main Nintendo Famicom dekat kedai Lee Computers tu. Kedai rambut dekat atas dia dekat bawah. Korang tahu la kalau perempuan buat rambut berapa lama dia punya proses.

Lee Computers ni kira famousla untuk budak² Taman Sri Gombak dulu. Saya kira antara tahun 1986 dan 1990, waktu saya di dalam darjah 3 mungkin. Memang penuh kedai ni all the time. Bijak sungguh Uncle Lee meniaga, benda seronok, RM 2.00 sejam, game ada macam dari Super Mario Bros, Super Mario Bros 3, Battle City, Bomberman, banyakla Game Library dia. Nak main kena tulis nama, register, masuk jam berapa, bayar 2 Ringgit. Korang bayangkan collection dia sehari macam mana. Rasa ada dlm 15 Station macam tu.

Kedai buka Jam 9.00 pagi dan tutup pada Jam 6.00 petang (zaman tu 6.00 petang dah kira lewat dah). Sejam 2 Ringgit ada 15 Station pula tu. Memang setiap masa tak pernah tak ada station yang kosong. Jom tengok berapa Uncle Lee buat duit:

9.00 AM - 6.00 PM = ada 9 jam
Sejam 2 Ringgit = 9 jam x 2.00 = 18 Ringgit
Ada 15 Station, makna kata 9 jam x RM 2.00 x 15 Station = RM 270.00

Senang² je Uncle Lee buat duit RM 270 sehari macam tu. Korang bayangkan la berapa collection dia setahun. Bijak sungguh. Iyalah zaman tu, bukan semua mampu beli Nintendo Famicom, introductory price dia zaman tu (tahun 1985) USD 179 (dalam Tahun 2021 adalah dalam USD 442.78 – RM 1,855.00 jugakla) itu kalau ikut harga USA. Tak mampu beli, sewa main je la time tu. Tu yang dari kecik berazam nak dapat kerja best² agar dapat beli mainan macam ni.

Layan sampai lebam. Ada masa tu, main game sampai mama jemput balik, rupanya dah habis dia punya setting rambut. Nostalgia sungguh, teringat arwah mama.

Mari mengimbau zaman silam dengan RetroArch

Source: https://www.libretro.com/

Bapa² atau rakan² yang mungkin mahu mengimbau nostalgia zaman kanak² dahulu boleh lah install RetroArch (cara sebut dia reh·trow·aach) dari sini. Google la Tutorial untuk pasang RetroArch ini pada komputer sendiri. Tak susah mana pon. Komputer pon tak perlu yang power², bergantung la apa yang korang nak emulate, kalau nak emulate PS One atau Nintendo 64, agak² la, itu kena la pakai GPU yang berkuasa tinggi. Setakat nak emulate Nintendo NES, Super NES atau Sega MegaDrive yang macam ni pon cukup:

OS: Microsoft Windows 7
Processor: Intel Pentium 4 and up (CPU with SSE2 instructions required)
Memory: 32 MB RAM
Graphics: Any compliant OpenGL 2.x or Direct3D11 GPU. For shaders to work properly, should support at least Shader Model 2.0.
DirectX: Version 11
Additional Notes: For OpenGL: Intel HD 2K/3K GPUs on Windows 10 will have to fall back to an OpenGL 1.1 driver.

Tapi saya percaya, zaman ni, maybe PC anda semua lagi power dari spec di atas. Kurang² RTX 2060, ram 16GB. Celah gigi korang je la ni.

Jangankan console macam Sega atau Nintendo, Dos Game pon boleh. Macam contoh:

Game Digger ni dari Windmill Software tahun 1983. Ini antara game kegemaran saya ketika di dalam Darjah 1. Seronot game ini. Sebelum ada RetroArch atau DosBox, kalau kita run game ni, mmg tak boleh main – laju gile.

Atau juga mungkin yang ini: Sonic 3 and Knuckles:

Game ini kira Legendary zaman saya sekolah menengah dahulu. Sonic 3 + Sonic & Knuckles. Ntah mana pergi Cartridge ni saya pon tak tahu. Maybe dalam kotak dekat rumah Seri Gombak kot.

Special game ni, kita kena pasang Cartridge Sonic 3 atas Cartridge Sonic and Knuckles, baru jadi Full Game Sonic the Hedgehog 3 & Knuckles.

Kira game ni hebat la pada zaman tu, SEGA buat Lock-On technology untuk combine 2 game kepada 1 game. Sonic the Hedgehog 3, 1 game dan Sonic & Knuckles, 1 game jadi Sonic the Hedgehog 3 & Knuckles, macam gambar dekat bawah ni.

Source: https://www.pngjoy.com/preview/x0c0p5p9e8a8a6_and-knuckles-sonic-3-knuckles-transparent-png/

Gitulah, suka saya mengenangkan zaman budak² dahulu. Tak apa yang perlu dirisaukan. Makan, tempat tidor dan duit belanja semua disediakan.

Tapi sekarang, kita dah jadi bapak, kita ada perbagai tanggungjawab untuk Keluarga, untuk Isteri, anak², bapa (ibu dah lama pergi), Opis, agama dan akhir sekali kepada masyarakat dan negara.

Oklah, nanti saya sambung lagi apa yang patut.

Bolehlah bapak² try RetroArch ni untuk menggamit kenangan di zaman lalu.

Yakuza: Like a Dragon (Nutritionist Exam)

Macam-macam ada dalam Game Yakuza Like a Dragon ni. Examination pon ada. Di bawah adalah senarai Exam² yang ada. Dari sukan sampai la Matematik, takde la susah mana Matematik tu, tapi kena la ada calculator kalau nak cepat.

So nampak bodoh je Ichiban ni, tapi dia punya intelect kira tinggi juga.

  • Sports Tier 2
  • Sports Tier 1
  • Underworld Studies
  • Isezaki Ijincho Proficiency
  • Animal Science
  • SEGA Proficiency Tier 2
  • SEGA Proficiency Tier 1
  • Mathematics Tier 2
  • Mathematics Tier 1
  • Fashionista
  • Music Proficiency Tier 2
  • Music Proficiency Tier 1
  • Pharmacology
  • Nutritionist
  • Hazardous Materials
  • Flag Master
  • World History
  • Trivia King Tier 2
  • Trivia King Tier 1
  • Trivia King Special Tier
  • Ounabara Proficiency

Jika pass Exam untuk Nutritionist ni boleh tambah Charisma: 50 dan Kindness: 50.

Simpan Gambar Cover Buku dari LibraryThing ke server sendiri

Salam Sejahtera dan Selamat Maju Jaya

Hari ini saya hendak bercerita tentang sedikit programming language iaitu PHP. Semasa saya bekerja di Open University Malaysia dahulu kala, saya ada menulis script untuk Drupal untuk dapatkan image dari server LibraryThing dan muat-turun gambar tersebut ke server kita. Adapun tujuan ini adalah untuk mengurangkan tekanan bandwidth kepada pengguna ketika itu. Umumnya pada waktu ini, mungkin tidak relevan lagi kerana rata² masyarakat mempunyai akses kepada internet super.

Namun pada hari ini, API LibraryThing telah dihentikan sehingga diberitahu kelak (tak tahu la sampai bila). Takper, script ini adalah bebas untuk kita tukar source server kepada servis yang lain.

API LibraryThing dihentikan buat sementara waktu

Sebagai penambahbaik servis Perpustakaan Digital OUM ketika itu, saya telah menulis script untuk mendapatkan data² dari Syndetics untuk memperkayakan atau enrich Katalog OUM mereka dengan Muka Buku, Ringkasan Buku dan sebagainya.

Pengkayaan Katalog dengan Servis Syndetics

Script yang saya tulis untuk Perpustakaan Digital Tan Sri Abdullah Sanusi akan menyimpan Book Summary, Publisher, Author dan juga Imej Muka Buku ke dalam sistem secara dinamik.

Buku di Perpustakaan Digital Tan Sri Abdullah Sanusi

Melalui script ini, pengguna hanya perlu memasukkan No ISBN buku tersebut dan yang lain² akan dilakukan secara dinamik oleh server. Mudah bukan? Masukkan ISBN, semua data² akan diambil dan disimpan di dalam database.

Muat-turun Book Cover ke Server

Hari ini, saya ingin berkongsi maklumat atau script tentang cara² mendapatkan gambar dari server lain dan seterusnya menyimpan gambar tersebut ke dalam server kita. Script ini juga akan menyusun dan menyimpan gambar² buku mengikut jumlah askara ISBN samada 10-askara atau 13-askara.

Dalam erti kata lain, script ini akan create folder kepada beberapa bahagian kecil di dalam format 3/3/3/3/1. Sebagai contoh, jika ISBN yang diberikan adalah 978-0735210967, maka script ini akan create folder dan subfolder seperti berikut:

978/073/521/096/7

Ini adalah untuk mengelakkan daripada server mempunyai ribuan folder dengan no ISBN yang banyak yang pasti akan membebankan server apabila pengguna browse folder ini menggunakan SFTP atau FTP.

Langkah yang bijak adalah dengan memecahkannya kepada beberapa cluster. Ini akan membantu untuk mengurangkan pengunaan folder yang banyak apabila koleksi buku anda lebih dari 100,000.00.

Memecahkan ISBN kepada beberapa kluster

Kita ambil contoh ISBN untuk buku² di bawah:

  1. 978-1621001539
  2. 978-9971693367
  3. 978-0415834841 
  4. 978-1840760378

Di dalam keadaan biasa, selalunya adalah mudah untuk kita terus create folder (4 Folder) untuk setiap ISBN di atas. Jika kita berbuat demikian, sekiranya buku yang kita serve adalah kurang dari 1,000, ini mungkin tidak menjejaskan prestasi server. Namun Perpustakaan jarang sekali ada buku dengan jumlah seperti itu. Selalunya pasti lebih daripada 10,000 judul dan jika kita teruskan juga, tidak ada salahnya, tapi nanti di dalam 1 folder akan ada beribu folder yang pastinya tidak baik untuk kesihatan Server Admin (sian pada dia).

Perasan tak kebanyakan ISBN ada mempunyai prefix yang sama seperti berikut:

  1. 9780415778299 
  2. 9780415820349 
  3. 9780415809771 
  4. 9780415442060 
  5. 9780415579841 

Dengan menggunakan kaedah clustering ini, mereka boleh kongsi folder yang sama dibawah “/978/041/”. Ini akan membantu untuk mengurangkan kepada pembentukkan folder di dalam jumlah yang banyak.

Fungsi di bawah ini yang memecahkan folder kepada beberapa cluster, Lihat $parts = Array.

function BikinFolder($KEPALA, $isbn, $TestingCode) {
		$parts = Array ($KEPALA, 
			substr($isbn, 0, 3), 
			substr($isbn, 3, 3), 
			substr($isbn, 6, 3), 
			substr($isbn, 9, 3));		
		
		if (13 == strlen($isbn))
			array_push($parts, substr($isbn, 12, 3));
		$dirName = join('/', $parts);
		if (file_exists($dirName))
			return $dirName;
		$path = $KEPALA;
		for ($i = 1; $i < count($parts); $i++)
		{
			$path .= '/' . $parts[$i];
			if ($TestingCode)
				print "<p>Buat Folder di directory: $path</p>\n";
			@mkdir($path);
		}
		return $dirName;
	}

Test Run (Gambar dan Folder Tak Pernah Ada)

Di bawah adalah Print Out dari script tersebut sekiranya TestingCode = True serta gambar dan folder tersebut tidak wujud di dalam server.

Buat Folder di directory: muka-buku/978
Buat Folder di directory: muka-buku/978/041
Buat Folder di directory: muka-buku/978/041/557
Buat Folder di directory: muka-buku/978/041/557/984
Buat Folder di directory: muka-buku/978/041/557/984/1

creating/serving local file muka-buku/978/041/557/984/1/9780415579841-mc.jpg

Gambar Tiada di server. Jom kita ambil dari Syndetics. Source Gambar: https://secure.syndetics.com/index.aspx?isbn=9780415579841/mc.jpg&client=RAHSIA

Berjaya. Gambar dari Syndetics sudah disimpan di dalam server

Gambar kita ada simpan disini: www.munmon.com/main2/muka-buku/978/041/557/984/1/9780415579841-mc.jpg

Test Run (Gambar dan Folder Ada)

Script yang sama tapi gambar serta folder itu wujud. Berikut adalah Print Out dari script jika kita on kan setting TestingCode.

Create atau Load Gambar dari Local Server: muka-buku/978/041/557/984/1/9780415579841-mc.jpg

Gambar ini ada di dalam Server. Yeay!

Gambar kita ada simpan disini: www.munmon.com/main2/muka-buku/978/041/557/984/1/9780415579841-mc.jpg

Di bawah adalah keseluruhan script sekiranya berminat untuk guna. Saya lesenkan code ini dibawah dilesenkan di bawah CC BY-NC 4.0. Download Script di bawah jika mahu details dan description functionnya.

//Masukkan Nama Folder di sini
define('KEPALA', 'muka-buku');
// Masukkan Nama Lesen Library	
define('LESEN', 'RAHSIA-XXXXX-RAHSIA');
// Ini gambar default jika tak ada Gambar (
define('GAMBAR-TIADA', 'muka-buku/transparent.gif');
	
$TestingCode = False;
	
if ($TestingCode)
header("Content-type: text/html");	
$size = strtolower($_REQUEST['size']);	
if ('sc' != $size && 'mc' != $size && 'lc' != $size)
{
print "<p>ERROR - Illegal size. Must be either LC (Small), MC (Medium) or LC (Large). Please refer Syndetics Documentation </p>";
exit;
}
		
$isbn = strtoupper(preg_replace('/[^0-9Xx]/', '', $_REQUEST['isbn']));
if (10 != strlen($isbn) && 13 != strlen($isbn))
{
print "<p>Error - ISBN must be either 10 or 13 Characters</p>";
exit;
}
	
$directory = BikinFolder(KEPALA, $isbn, $TestingCode);	
	
$GambarMukaBuku = "${directory}/${isbn}-${size}.jpg";
if ($TestingCode)
print "<p>Create atau Load Gambar dari Local Server: $GambarMukaBuku</p>\n";
	
if ( ! file_exists($GambarMukaBuku) )
{
$sourceURL = 'https://secure.syndetics.com/index.aspx?isbn=' . "$isbn" . "/mc.jpg&client=" . LESEN;
		
if ($TestingCode)
print "<p>Gambar Tiada di server. Jom kita ambil dari Syndetics. Source Gambar: $sourceURL</p>\n";
		
if ($remote = fopen($sourceURL, 'r') )
{
$image = '';
while ( ! feof($remote) )
$image .= fread($remote, 8192);
fclose($remote);
if (strlen($image) >= 100  &&  $local = fopen($GambarMukaBuku, 'w'))
{
fwrite($local, $image);
fclose($local);
if ($TestingCode)
print "<p>Berjaya. Gambar dari Syndetics sudah disimpan di dalam server</p>\n";
}
}
}
else
{
if ($TestingCode)
print "<p>Gambar ini ada di dalam Server. Yeay!</p>\n";
}
$GambarKitaSimpan = file_exists($GambarMukaBuku) ? $GambarMukaBuku : GAMBAR-TIADA;
if ($TestingCode)
{	
print "<p>Gambar kita ada simpan disini: ";
print $_SERVER['SERVER_NAME'] . "/" . basename(getcwd()) ."/" . $GambarKitaSimpan;
print "</p>\n";
;
		
}
else
{
header("Content-Type: image/jpeg");
header("Content-Length: " . filesize($GambarKitaSimpan));
header("X-Pad: avoid browser bug");
}
		
print "<img class=thumber3 src='{$GambarKitaSimpan}'>";

function BikinFolder($KEPALA, $isbn, $TestingCode)
{
$parts = Array ($KEPALA, 
substr($isbn, 0, 3), 
substr($isbn, 3, 3), 
substr($isbn, 6, 3), 
substr($isbn, 9, 3));		
		
if (13 == strlen($isbn))
array_push($parts, substr($isbn, 12, 3));
$dirName = join('/', $parts);
if (file_exists($dirName))
return $dirName;
$path = $KEPALA;
for ($i = 1; $i < count($parts); $i++)
{
$path .= '/' . $parts[$i];
if ($TestingCode)
print "<p>Buat Folder di directory: $path</p>\n";
@mkdir($path);
}
return $dirName;
}

This work is licensed under CC BY-NC 4.0