0
我初始化變量,使用move_uploaded_file函數,然後我寫一個基本的表單用戶將用於上傳他們的照片。我試圖打印出一個error_msg或sucess_msg文件,顯示他們在加載文件時是否成功。沒有人在炫耀。幫幫我!有問題上傳圖片到文件夾
$error_msg = "";
$success_msg = "";
$name2 = "";
if ($_POST['parse_var'] == "pic"){
if (!$_FILES['fileField']['tmp_name']) {
$error_msg = '<font color="#FF0000">ERROR: Please browse for an image before you press submit.</font>';
} else {
$maxfilesize = 51200; // 51200 bytes equals 50kb
if($_FILES['fileField']['size'] > $maxfilesize) {
$error_msg = '<font color="#FF0000">ERROR: Your image was too large, please try again.</font>';
unlink($_FILES['fileField']['tmp_name']);
} else if (!preg_match("/\.(gif|jpg|png)$/i", $_FILES['fileField']['name'])) {
$error_msg = '<font color="#FF0000">ERROR: Your image was not one of the accepted formats, please try again.</font>';
unlink($_FILES['fileField']['tmp_name']);
} else {
$newname = $id'.jpg';
$place_file = move_uploaded_file($_FILES['fileField']['tmp_name'], "images/$id/".$newname);
$success_msg = '<font color="#009900">Your image has been updated, it may take a few minutes for the changes to show... please be patient.</font>';
}
} // close else that checks file exists
}
<table width="709" align="center" cellpadding="5">
<form action="edit_profile.php" enctype="multipart/form-data" method="post" name="pic1_form" id="pic1_form">
<!-- <tr>
<td width="125" class="style7"><div align="center"><strong>Please Do First →</strong></div></td>
</tr>-->
<tr>
<td width="16%"><?php print "$user_pic"; ?></td>
<td width="74%">
<input name="fileField" type="file" class="formFields" id="fileField" size="42" />
50 kb max
</td>
<td width="10%">
<input name="parse_var" type="hidden" value="pic" />
<input type="submit" name="button" id="button" value="Submit" />
</td>
</tr>
</form></table>
爲什麼投下來? – fello
你會得到任何PHP錯誤?你有'error_reporting'啓用? – drudge
注意:您的表單標籤不應該在
回答
我沒有看到任何地方在你迴應錯誤或成功消息的代碼。
來源
2011-05-12 18:07:42
你現在正在檢查我沒有看到一個地方,我回復這個消息 – fello
我把它放在表標籤內回顯,它正在打印消息並花費相當長的時間來加載圖像 – fello
你要去約如果上傳進行了錯誤的方法檢查:
檢查表單域的存在是爲了檢查是否有POST進行一個好辦法。您可能會忘記將該字段放入表單中,名稱可能會發生變化等等。檢查
REQUEST_METHOD
是否有效,因爲無論正在執行什麼類型的請求,該設置都會設置,並且始終是請求(獲取,發佈,頭等...)。同樣,不要使用用戶提供的文件名來驗證他們上傳了圖像。這個名字可以通過簡單地將一些其他類型的文件重命名爲「whatever.jpg」來輕易僞造。使用服務器端的手段來檢查它是否是一個圖像,如
FileInfo
或getimagesize()
來源
2011-05-12 18:08:49
我會檢查這個 – fello
我認爲你正在尋找的錯誤是這個:
你忘了一個點,整個腳本剛剛死機:
來源
2011-05-12 18:21:20 zzarbi
我試圖追加它,我認爲它不起作用,儘管我會嘗試做你所說的以防萬一我犯了一個錯誤。 – fello
相關問題