2015-03-25 34 views
0

我想學習PHP和文件上傳到我的服務器,這個指南:PHP文件上傳返回錯誤「不允許」在服務器控制檯

http://www.w3schools.com/php/php_file_upload.asp

我覺得我跟着它非常好,我使用HTTP文件服務器2.3e作爲我的服務器軟件。

當我在表單中加載我的圖像並點擊提交後,服務器中出現以下錯誤「Upload failed for v.png:Not allowed。」

HTML:

<!DOCTYPE html> 
<html> 
<body> 

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    select file to upload: 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 

</body> 
</html> 

PHP:

<?php 
file_uploads = on; 
$target_dir = "uploads/"; 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
if(isset($_POST["submit"])) { 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
    if($check !== false) { 
     echo "File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else { 
     echo "File is not an image."; 
     $uploadOk = 0; 
    } 
} 
?> 

任何幫助,將不勝感激,在此先感謝!

回答

0
file_uploads = on; 

這是需要在php.ini中不在腳本中(這也不能由ini_set設置)。在php.ini文件中添加/查找file_uploads,並將其更改爲On或1並重新啓動您的http服務器。

+0

因此,我將php.ini文件添加到與其他所有內容相同的目錄中,並從「file_uploads = on」末尾刪除了分號,保存了所有內容並重新啓動了服務器。但是,我仍然遇到同樣的錯誤。 – user2825148 2015-03-25 05:30:19

+0

php.ini文件需要在原來的位置(無論你的http配置在哪裏尋找php配置)。 – Burrito 2015-03-25 21:09:18

+0

啊,這樣做更有意義。但是,在服務器的.ini文件中,不存在「file_uploads」或任何靠近它的設置。每當我嘗試手動添加它時,服務器打開或關閉線被刪除。此外,我嘗試手動導航到該文件夾​​,而不使用我的HTML表單或我的PHP腳本,並使用默認瀏覽器的用戶界面上傳它,它的工作。所以我認爲這是一個與腳本有關的實際問題... – user2825148 2015-03-25 22:29:29

0

感謝您的幫助。這就改變了我使用的服務器軟件(HFS)不支持PHP,並且「上傳失敗」是它告訴我的。

相關問題