我一直在尋找堆棧溢出和其他教程如何使用PHP上傳文件。下面的腳本一直運行到if語句的條件是move_uploaded_file($ file_temp,$ file_destination),在這個點它迴應「file not uploaded」。圖片上傳失敗使用PHP - move_uploaded_file
包含chmod函數的if語句是我試圖在上傳文件夾中將文件權限更改爲0777(我非常肯定地給出了讀取和寫入訪問權限),因爲這已經是許多相關堆棧的建議溢出答案。雖然在這一點上我不認爲問題是文件許可。
所以基本上我不知道這有什麼問題。幫助表示讚賞:)
<form action="upload.php" method="post" enctype="multipart/form-data">
Your Photo: <input type="file" name="image" />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
print_r($_FILES);
// file properties
$file_name = $_FILES['image']['name'];
$file_tmp_name = $_FILES['image']['tmp_name'];
$file_size = $_FILES['image']['size'];
$file_error = $_FILES['image']['error'];
// get the extension of the file
$file_ext = explode('.', $file_name);
$file_ext = strtolower(end($file_ext));
var_dump(file_exists('uploads'));
// this is false
if(chmod('uploads', 0777)){
echo " booooh";
}
else{
echo "naaah";
}
$file_name_new = uniqid('', true) . '.' . $file_ext;
echo "<br>";
echo $file_destination = '/uploads/' . $file_name;
// this is false too
if(move_uploaded_file($file_temp, $file_destination)) {
echo "<br>$file_destination<br>";
echo "hello world<br>";
}
else {
echo "<br>file not uploaded<br>";
}
?>
'var_dump(file_exists('uploads'));'是錯誤我想你檢查存在的文件〜/上傳或目錄。檢查'php.ini'中的選項'open_basedir' http://php.net/manual/en/ini.core.php#ini.open-basedir – Naumov