2015-03-25 33 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,并且“上传失败”是它告诉我的。

相关问题