BigJackW Skrevet 29. november 2005 Del Skrevet 29. november 2005 (endret) Kan noen endre dette skriptet slik at den regner Mb istedet for Kb? <?php /* By using this script you will be able to upload as many files as you want. The code will check if file existes, limited extensions, file size, file selected ..etc. */ //upload directory. //change to fit your need eg. files, upload .... etc. $upload_dir = "upload/"; //number of files to upload. $num_files = 20; //the file size in bytes. $size_bytes =10240000; //51200 bytes = 50KB. //Extensions you want files uploaded limited to. $limitedext = array(".gif",".jpg",".jpeg",".png",".txt",".nfo",".doc",".rtf",".htm",".dmg",".zip",".rar",".gz",".exe",".swf"); //check if the directory exists or not. if (!is_dir("$upload_dir")) { die ("Error: The directory <b>($upload_dir)</b> doesn't exist"); } //check if the directory is writable. if (!is_writeable("$upload_dir")){ die ("Error: The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)"); } //if the form has been submitted, then do the upload process //infact, if you clicked on (Upload Now!) button. if (isset($_POST['upload_form'])){ echo "<h3>Upload results:</h3>"; //do a loop for uploading files based on ($num_files) number of files. for ($i = 1; $i <= $num_files; $i++) { //define variables to hold the values. $new_file = $_FILES['file'.$i]; $file_name = $new_file['name']; //to remove spaces from file name we have to replace it with "_". $file_name = str_replace(' ', '_', $file_name); $file_tmp = $new_file['tmp_name']; $file_size = $new_file['size']; #-----------------------------------------------------------# # this code will check if the files was selected or not. # #-----------------------------------------------------------# if (!is_uploaded_file($file_tmp)) { //print error message and file number. echo "File $i: Not selected.<br>"; }else{ #-----------------------------------------------------------# # this code will check file extension # #-----------------------------------------------------------# $ext = strrchr($file_name,'.'); if (!in_array(strtolower($ext),$limitedext)) { echo "File $i: ($file_name) Wrong file extension. <br>"; }else{ #-----------------------------------------------------------# # this code will check file size is correct # #----------------------------------------------------------# if ($file_size > $size_bytes){ echo "File $i: ($file_name) Faild to upload. File must be <b>". $size_bytes / 1024 ."</b> Kb. <br>"; }else{ #-----------------------------------------------------------# # this code check if file is Already EXISTS. # #-----------------------------------------------------------# if(file_exists($upload_dir.$file_name)){ echo "File $i: ($file_name) already exists.<br>"; }else{ #-----------------------------------------------------------# # this function will upload the files. :);) cool # #-----------------------------------------------------------# if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) { echo "File $i: ($file_name) Uploaded.<br>"; }else{ echo "File $i: Faild to upload.<br>"; }#end of (move_uploaded_file). }#end of (file_exists). }#end of (file_size). }#end of (limitedext). }#end of (!is_uploaded_file). }#end of (for loop). # print back button. echo "»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; //////////////////////////////////////////////////////////////////////////////// //else if the form didn't submitted then show it. }else{ echo " <h3>Select files to upload!.</h3> Maks Fil størrelse = ". $size_bytes / 1024 ." Kb"; echo " <form method=\"post\" action=\"$_SERVER[PHP_SELF]\" enctype=\"multipart/form-data\">"; // show the file input field based on($num_files). for ($i = 1; $i <= $num_files; $i++) { echo "File $i: <input type=\"file\" name=\"file". $i ."\"><br>"; } echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\"> <input type=\"submit\" name=\"upload_form\" value=\"Upload Now!\"> </form>"; } Det som kommer fram nå er: Maks Fil størrelse = 10000 KB Jeg vil ha slik at den regner om det til Mb! Edit: Kan godt få hele skriptet Endret 29. november 2005 av BigJackW Lenke til kommentar
endrebjo Skrevet 29. november 2005 Del Skrevet 29. november 2005 Hva med en litt mer passende kategori? Lenke til kommentar
Jankee Skrevet 29. november 2005 Del Skrevet 29. november 2005 Flyttes fra windows til php-kategorien. Lenke til kommentar
LoS Skrevet 29. november 2005 Del Skrevet 29. november 2005 Er ikke det bare å slenge på tre nuller etter denne da? $size_bytes =10240000; Lenke til kommentar
BigJackW Skrevet 29. november 2005 Forfatter Del Skrevet 29. november 2005 Men da teller den ikke i Mb, da angir du hvor mange mb som skal være tillatt i hver fil! Lenke til kommentar
LoS Skrevet 29. november 2005 Del Skrevet 29. november 2005 (endret) Aha, da kan du vel ta denne: Maks Fil størrelse = ". $size_bytes / 1024 ." Kb"; og gjøre om til: Maks Fil-størrelse = ". $size_bytes / 1024000 ." MB"; btw: b = bit, B = byte. Endret 29. november 2005 av LoS Lenke til kommentar
BigJackW Skrevet 29. november 2005 Forfatter Del Skrevet 29. november 2005 (endret) Aha, da kan du vel ta denne:Maks Fil størrelse = ". $size_bytes / 1024 ." Kb"; og gjøre om til: Maks Fil-størrelse = ". $size_bytes / 1024000 ." MB"; btw: b = bit, B = byte. 5228513[/snapback] Men 1024000 er 10 MB så da må jeg vel ta 102400 for at det skal bli 1 MB? Edit: Fant ut at 10240000 er 10 Mb så da må jeg ta 1024000? Endret 29. november 2005 av BigJackW Lenke til kommentar
LoS Skrevet 29. november 2005 Del Skrevet 29. november 2005 10.240.000B er 10.000KB, 10.000KB er 10MB, derfor vil det stemme. Du må bare fjerne en null på variabelen jeg nevnte i første post for å få den ned til 1MB, for nå står den på 10MB. Lenke til kommentar
Knebba Skrevet 29. november 2005 Del Skrevet 29. november 2005 det er vel ikke helt nøyaktig (avhenger av server?) men en kb er 1024 byte, og en mb er 1024 kb. Lenke til kommentar
kakkle Skrevet 29. november 2005 Del Skrevet 29. november 2005 [offtopic] btw: b = bit, B = byte. 5228513[/snapback] Også mener jeg å ha lest i en signatur her på forumet at k=kilo og K=Kelvin (Som i temp) [/offtopic] Lenke til kommentar
???????? Skrevet 30. november 2005 Del Skrevet 30. november 2005 Faktisk så snakker kakkle og kennteh om det samme. Det er vanlig å skille mellom binary og SI. I binary kan kB skrives med stor eller liten bokstav, men det er veldig mange som ønsker at SI skal skrives med liten k, mens binary skal skrives med stor K. Dette er det ingen god nok standard for desverre. Symbolet K for kelvin bygger på SI enheter. Forskjellen mellom disse to systemen er hvordan man da regner seg mellom MB og KB. I SI til forskjellen være 1000 mens i binary er den på 1024. Innen data bruker vi binary, siden alt bygger nettopp på dette, eller 1 og 0. En kilobyte tilsvarer da 2^10. Håper dette klarerte litt, hvis ikke: Så lenge det er snakk om fil størrelse, bruk 1024 for å gå mellom kB(KB) og MB, eller for å gå mellom MB og GB, og så videre. Lenke til kommentar
jocke Skrevet 30. november 2005 Del Skrevet 30. november 2005 (endret) 10.240.000B er 10.000KB, 10.000KB er 10MB, derfor vil det stemme. Du må bare fjerne en null på variabelen jeg nevnte i første post for å få den ned til 1MB, for nå står den på 10MB. 5228558[/snapback] 10MB = 10 240 kB = 10 485 760 B = 83 886 080 b Til trådstarter; Koden nedenfor er justert til å vise MB, samt sette begrensningen til 1MB. <?php /* By using this script you will be able to upload as many files as you want. The code will check if file existes, limited extensions, file size, file selected ..etc. */ //upload directory. //change to fit your need eg. files, upload .... etc. $upload_dir = "upload/"; //number of files to upload. $num_files = 20; //the file size in bytes. $size_bytes =1048576; //Extensions you want files uploaded limited to. $limitedext = array(".gif",".jpg",".jpeg",".png",".txt",".nfo",".doc",".rtf",".htm",".dmg",".zip",".rar",".gz",".exe",".swf"); //check if the directory exists or not. if (!is_dir("$upload_dir")) { die ("Error: The directory <b>($upload_dir)</b> doesn't exist"); } //check if the directory is writable. if (!is_writeable("$upload_dir")){ die ("Error: The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)"); } //if the form has been submitted, then do the upload process //infact, if you clicked on (Upload Now!) button. if (isset($_POST['upload_form'])){ echo "<h3>Upload results:</h3>"; //do a loop for uploading files based on ($num_files) number of files. for ($i = 1; $i <= $num_files; $i++) { //define variables to hold the values. $new_file = $_FILES['file'.$i]; $file_name = $new_file['name']; //to remove spaces from file name we have to replace it with "_". $file_name = str_replace(' ', '_', $file_name); $file_tmp = $new_file['tmp_name']; $file_size = $new_file['size']; #-----------------------------------------------------------# # this code will check if the files was selected or not. # #-----------------------------------------------------------# if (!is_uploaded_file($file_tmp)) { //print error message and file number. echo "File $i: Not selected.<br>"; }else{ #-----------------------------------------------------------# # this code will check file extension # #-----------------------------------------------------------# $ext = strrchr($file_name,'.'); if (!in_array(strtolower($ext),$limitedext)) { echo "File $i: ($file_name) Wrong file extension. <br>"; }else{ #-----------------------------------------------------------# # this code will check file size is correct # #----------------------------------------------------------# if ($file_size > $size_bytes){ echo "File $i: ($file_name) Failed to upload. File must be <b>". $size_bytes / 1048576 ."</b> MB. <br>"; }else{ #-----------------------------------------------------------# # this code check if file is Already EXISTS. # #-----------------------------------------------------------# if(file_exists($upload_dir.$file_name)){ echo "File $i: ($file_name) already exists.<br>"; }else{ #-----------------------------------------------------------# # this function will upload the files. :);) cool # #-----------------------------------------------------------# if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) { echo "File $i: ($file_name) Uploaded.<br>"; }else{ echo "File $i: Faild to upload.<br>"; }#end of (move_uploaded_file). }#end of (file_exists). }#end of (file_size). }#end of (limitedext). }#end of (!is_uploaded_file). }#end of (for loop). # print back button. echo "»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; //////////////////////////////////////////////////////////////////////////////// //else if the form didn't submitted then show it. }else{ echo " <h3>Select files to upload!.</h3> Maks Fil størrelse = ". $size_bytes / 1048576 ." MB"; echo " <form method=\"post\" action=\"$_SERVER[PHP_SELF]\" enctype=\"multipart/form-data\">"; // show the file input field based on($num_files). for ($i = 1; $i <= $num_files; $i++) { echo "File $i: <input type=\"file\" name=\"file". $i ."\"><br>"; } echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\"> <input type=\"submit\" name=\"upload_form\" value=\"Upload Now!\"> </form>"; } Dersom du skal forandre på størrelsen, endrer du på følgende del helt i starten av scriptet; //the file size in bytes. $size_bytes =1048576; Der multipliserer du 1048576 med antall MB du skal ha som begrensning. 1048576 * 1 = 1048576 = 1MB 1048576 * 2 = 2097152 = 2MB 1048576 * 3 = 3145728 = 3MB osv... Endret 30. november 2005 av jallakim Lenke til kommentar
BigJackW Skrevet 30. november 2005 Forfatter Del Skrevet 30. november 2005 Jeg har endra størrelsen på scriptet, men jeg vil gjøre slik at det ikke står i Kb på sida. Lenke til kommentar
Sjark Skrevet 30. november 2005 Del Skrevet 30. november 2005 (endret) er det ikke bare og skifte echo "File $i: ($file_name) Faild to upload. File must be <b>". $size_bytes / 1024 ."</b> Kb. <br>"; til: echo "File $i: ($file_name) Faild to upload. File must be <b>". $size_bytes / 1024 / 1024 ."</b> MB. <br>"; ? Endret 30. november 2005 av Lasso5000 Lenke til kommentar
jocke Skrevet 30. november 2005 Del Skrevet 30. november 2005 Jeg har endra størrelsen på scriptet, men jeg vil gjøre slik at det ikke står i Kb på sida. 5231057[/snapback] Endret litt til på posten min. Kopiér og lim inn hele koden, så står det "MB" på siden, og begrensningen er satt til 1 MB. Lenke til kommentar
BigJackW Skrevet 30. november 2005 Forfatter Del Skrevet 30. november 2005 Samtidig dere holder på, kan noen oversette skriptet? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå