我有這樣的PHP代碼:PHP上傳未保存的文件,但表示沒有
if (isset($_FILES["ufile"]["name"])){ //if file was chosen
$allowed = array('pdf');
$filename = $_FILES['ufile']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!in_array($ext,$allowed)) { //only allowed filetype is PDF
echo 'Nevybral jste soubor PDF. <a style="color:blue; text-decoration:underline;" onclick="window.history.back()">Vraťte se na předchozí stránku.</a>';
}
else { //if everything OK, proceed to save the file
$jmeno= "pdf".date("dmY").".pdf"; //for example pdf17052014.pdf (works fine)
$path="depository/".$jmeno; //depository has chmod 777
if(move_uploaded_file($_FILES['ufile']['tmp_name'], $path)){ //if moved to depository, echo -all fine-
echo "<font color=green>The file was uploaded</font>";
include "friends.php";
mysql_connect("$Dhost", "$Duser", "$Dpass");
mysql_select_db("$Dbname");
$filtr = mysql_real_escape_string(br2nl($_POST["nadpis"]));
$filtrB = mysql_real_escape_string(br2nl($_POST["zprava"]));
$provedu="insert into usneseni (autor, cas, nazev, text, odkaz) values ('".$_SESSION["jmeno"]."',".time().",'".$filtr."', '".$filtrB."', '".$jmeno."')";
$vysledek=mysql_query("$provedu") or die(mysql_error()." <font color=red>Nepodařilo se zapsat do databáze</font>");
mysql_close();
}
else {
echo $_FILES['ufile']['error'];
}
}
}
當我運行它,它顯示「文件上傳」。然後我將它的名字寫入數據庫,這很好。但是當我看一下「存儲庫」時,該文件不在那裏。存儲庫有chmod 777.代碼不顯示任何錯誤。我不知道爲什麼會發生。
你可以使用這個文件上傳控件http://hayageek.com/docs/jquery-upload-file.php –
試着放這樣並檢查'$ path =「/ depository /' –