我已經嘗試過所有的想法。當我想在我的服務器上上傳照片時,名稱是寫入數據庫,但沒有上傳到服務器。PHP文件上傳不起作用
HTML
<form role="form" action="db_work.php?index=list_slider&action=new" method="post" ENCTYPE="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="512000"/>
PHP
$targetFolder = 'uploads/foto/slider'; // Relative to the root
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);
$fileName = $_FILES['Filedata']['name'];
$fileName = strtolower ($fileName);
$mysqli->query("UPDATE list_slider SET item_file = '$fileName' WHERE id='$id'");
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,$targetFile);
echo '1';
} else {
echo 'Invalid file type.';
}
這個腳本是在文件夾管理。並在根文件夾上傳。
什麼是'如果(in_array($ fileParts [ '擴展'],$文件類型))' –
附註的結果您處理上傳的方式極其不安全。 –
確保您打開了錯誤顯示和報告。例如。 'ini_set('display_errors',1); ini_set('log_errors',1); ini_set('error_log',dirname(__ FILE__)。'/error_log.txt'); error_reporting(E_ALL);' – Jasper