4588pkdkrikue5c Skrevet 14. mai 2007 Del Skrevet 14. mai 2007 (endret) Heisann, Jeg bruker dette her opplastingsskriptet, samt visningskriptet: <?php //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv // You may change maxsize, and allowable upload file types. //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //Mmaximum file size. You may increase or decrease. $MAX_SIZE = 2000000; //Allowable file Mime Types. Add more mime types if you want $FILE_MIMES = array('image/jpeg','image/jpg','image/gif' ,'image/png','application/msword'); //Allowable file ext. names. you may add more extension names. $FILE_EXTS = array('.zip','.jpg','.png','.gif'); //Allow file delete? no, if only allow upload only $DELETABLE = false; //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv // Do not touch the below if you are not confident. //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /************************************************************ * Setup variables ************************************************************/ $site_name = $_SERVER['HTTP_HOST']; $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $upload_dir = ""; $upload_url = $url_dir."filer"; $message =""; /************************************************************ * Create Upload Directory ************************************************************/ if (!is_dir("files")) { if (!mkdir($upload_dir)) die ("upload_files directory doesn't exist and creation failed"); if (!chmod($upload_dir,0755)) die ("change permission to 755 failed."); } /************************************************************ * Process User's Request ************************************************************/ if ($_REQUEST[del] && $DELETABLE) { $resource = fopen("log.txt","a"); fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n"); fclose($resource); if (strpos($_REQUEST[del],"/.")>0); //possible hacking else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking else if (substr($_REQUEST[del],0,6)==$upload_dir) { unlink($_REQUEST[del]); print "<script>window.location.href='$url_this?message=deleted successfully'</script>"; } } else if ($_FILES['userfile']) { $resource = fopen("log.txt","a"); fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]" .$_FILES['userfile']['name']." " .$_FILES['userfile']['type']."\n"); fclose($resource); $file_type = $_FILES['userfile']['type']; $file_name = $_FILES['userfile']['name']; $file_ext = strtolower(substr($file_name,strrpos($file_name,"."))); //File Size Check if ( $_FILES['userfile']['size'] > $MAX_SIZE) $message = "The file size is over 2MB."; //File Type/Extension Check else if (!in_array($file_type, $FILE_MIMES) && !in_array($file_ext, $FILE_EXTS) ) $message = "Sorry, $file_name($file_type) is not allowed to be uploaded."; else $message = do_upload($upload_dir, $upload_url); print "<script>window.location.href='$url_this?message=$message'</script>"; } else if (!$_FILES['userfile']); else $message = "Invalid File Specified."; /************************************************************ * List Files ************************************************************/ $handle=opendir($upload_dir); $filelist = ""; while ($file = readdir($handle)) { if(!is_dir($file) && !is_link($file)) { $filelist .= "<a href='$upload_dir$file'>".$file."</a>"; if ($DELETABLE) $filelist .= " <a href='?del=$upload_dir".urlencode($file)."' title='delete'>x</a>"; $filelist .= "<sub><small><small><font color=grey> ".date("d-m H:i", filemtime($upload_dir.$file)) ."</font></small></small></sub>"; $filelist .="<br>"; } } function do_upload($upload_dir, $upload_url) { $temp_name = $_FILES['userfile']['tmp_name']; $file_name = $_FILES['userfile']['name']; $file_name = str_replace("\\","",$file_name); $file_name = str_replace("'","",$file_name); $file_path = $upload_dir.$file_name; //File Name Check if ( $file_name =="") { $message = "Invalid File Name Specified"; return $message; } $result = move_uploaded_file($temp_name, $file_path); if (!chmod($file_path,0777)) $message = "change permission to 777 failed."; else $message = ($result)?"$file_name uploaded successfully." : "Somthing is wrong with uploading a file."; return $message; } ?> <body bgcolor="#FFFFFF"> <center> <center> <font face="Arial"><b>Filer</b> ... </font> <hr width=70%> <?=$filelist?> <hr width=70%> <font size="1">Steffen N. Martinsen </font><font size="-2">©2006</font></center> <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post"> <font face="Arial">Last opp ett bilde!</font> <input type="file" id="userfile" name="userfile"> <input type="submit" name="upload" value="Last opp"> </form> <br> </center> Men, det har seg sånn at alle filene bare lagres i samme mappe som skriptet uten at jeg kan fatte å begripe hvorfor.. Så, hvorfor? Kan noe endre skriptet sånn at filene lagres i en mappe som heter "Bilder" ? Og forresten, filene vises ikke heller i den listen sånn som de skal, hvorfor ikke? Kan noe ordne det for meg? Takk! Endret 14. mai 2007 av steffenz Lenke til kommentar
Crowly Skrevet 14. mai 2007 Del Skrevet 14. mai 2007 prøv å endre $upload_dir = ""; til $upload_dir = "./Bilder"; Lenke til kommentar
4588pkdkrikue5c Skrevet 14. mai 2007 Forfatter Del Skrevet 14. mai 2007 Nei det funker ikke.. Forstår ikke hvorfor.. Kommer fremdeles i samme mappen. Lenke til kommentar
mske Skrevet 14. mai 2007 Del Skrevet 14. mai 2007 Hvis du ikke skulle finne ut av det, kan du jo alltids bruke move_uploaded_file() og flytte filene til mappen "Bilder" Lenke til kommentar
Bakke Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 $upload_dir = "Bilder/"; Vet ikke om det fungerer, husker bare at jeg fikk litt problemer en gang jeg satt "/" foran mappenavnet. Lenke til kommentar
Crowly Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 (endret) Bare ett lite tips, ser at det $_REQUEST er brukt, jeg ville ha erstatet det med $_POST i stedet. Edit: Fikk det til å fungere på min server hjemme. Mr.Bakke hadde rett, $upload_dir = "Bilder/"; er korrekt. Har gjordt noen små endringer på scriptet, bl.a byttet ut $_REQUEST med $_POST og lagt in Bilder som upload_dir: Klikk for å se/fjerne innholdet nedenfor <?php//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv // You may change maxsize, and allowable upload file types. //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //Mmaximum file size. You may increase or decrease. $MAX_SIZE = 2000000; //Allowable file Mime Types. Add more mime types if you want $FILE_MIMES = array('image/jpeg','image/jpg','image/gif' ,'image/png','application/msword'); //Allowable file ext. names. you may add more extension names. $FILE_EXTS = array('.zip','.jpg','.png','.gif'); //Allow file delete? no, if only allow upload only $DELETABLE = false; //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv // Do not touch the below if you are not confident. //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /************************************************************ * Setup variables ************************************************************/ $site_name = $_SERVER['HTTP_HOST']; $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $upload_dir = "Bilder/"; $upload_url = $url_dir."filer"; $message =""; /************************************************************ * Create Upload Directory ************************************************************/ if (!is_dir($upload_dir)) { if (!mkdir($upload_dir)) die ("upload_files directory doesn't exist and creation failed"); if (!chmod($upload_dir,0755)) die ("change permission to 755 failed."); } /************************************************************ * Process User's Request ************************************************************/ if (isset($_POST['del']) AND $_POST['del'] && $DELETABLE) { $resource = fopen("log.txt","a"); fwrite($resource,date("Ymd h:i:s")." DELETE - ".$_SERVER['REMOTE_ADDR'].".".$_POST['del']."\n"); fclose($resource); if (strpos($_POST['del'],"/.")>0); //possible hacking else if (strpos($_POST['del'],$upload_dir) === false); //possible hacking else if (substr($_POST['del'],0,6)==$upload_dir) { unlink($_POST['del']); print "<script>window.location.href='$url_this?message=deleted successfully.'</script>"; } } else if ($_FILES['userfile']) { $resource = fopen("log.txt","a"); fwrite($resource,date("Ymd h:i:s")." UPLOAD - ".$_SERVER['REMOTE_ADDR']." " .$_FILES['userfile']['name']." " .$_FILES['userfile']['type']."\n"); fclose($resource); $file_type = $_FILES['userfile']['type']; $file_name = $_FILES['userfile']['name']; $file_ext = strtolower(substr($file_name,strrpos($file_name,"."))); //File Size Check if ( $_FILES['userfile']['size'] > $MAX_SIZE) $message = "The file size is over 2MB."; //File Type/Extension Check else if (!in_array($file_type, $FILE_MIMES) && !in_array($file_ext, $FILE_EXTS) ) $message = "Sorry, ".$file_name($file_type)." is not allowed to be uploaded."; else $message = do_upload($upload_dir, $upload_url); //print "<script>window.location.href='$url_this?message=$message'</script>"; } else if (!$_FILES['userfile']); else $message = "Invalid File Specified."; /************************************************************ * List Files ************************************************************/ $handle=opendir($upload_dir); $filelist = ""; while ($file = readdir($handle)) { if(!is_dir($file) && !is_link($file)) { $filelist .= "<a href='".$upload_dir."".$file."'>".$file."</a>"; if ($DELETABLE) $filelist .= " <a href='?del=".$upload_dir." ".urlencode($file)."' title='delete'>x</a>"; $filelist .= "<sub><small><small><font color=grey> ".date("d-m H:i", filemtime($upload_dir.$file)) ."</font></small></small></sub>"; $filelist .="<br>"; } } function do_upload($upload_dir, $upload_url) { $temp_name = $_FILES['userfile']['tmp_name']; $file_name = $_FILES['userfile']['name']; $file_name = str_replace("\\","",$file_name); $file_name = str_replace("'","",$file_name); $file_path = $upload_dir.$file_name; //File Name Check if ( $file_name =="") { $message = "Invalid File Name Specified"; return $message; } $result = move_uploaded_file($temp_name, $file_path); echo $result; if (!chmod($file_path,0777)) $message = "change permission to 777 failed."; else $message = ($result)?$file_name." uploaded successfully." : "Somthing is wrong with uploading a file."; return $message; } ?> <body bgcolor="#FFFFFF"> <center> <center> <font face="Arial"><b>Filer</b> ... </font> <hr width=70%> <?=$filelist?> <hr width=70%> <font size="1">Steffen N. Martinsen </font><font size="-2">©2006</font></center> <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post"> <font face="Arial">Last opp ett bilde!</font> <input type="file" id="userfile" name="userfile"> <input type="submit" name="upload" value="Last opp"> </form> <br> </center> Endret 15. mai 2007 av crowly Lenke til kommentar
4588pkdkrikue5c Skrevet 15. mai 2007 Forfatter Del Skrevet 15. mai 2007 (endret) Tusen tusen tusen millioner takk begge to! Nå fungerer alt sammen helt sånn som det en gang gjorde helt til idiotiske meg endret på noe! RESP3CT! :!: Endret 15. mai 2007 av steffenz 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å