2016-08-03 110 views
0

我的代码正在打印“问题上传文件”。我想上传任何类型的文件。我在与我的代码相同的位置创建了一个名为testupload的文件夹。它应该有效,但我不知道我错过了什么。如何使用PHP上传任何类型的文件?

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="file" size="50" /> 
    <br /> 
    <input type="submit" value="Upload" /> 
</form> 

upload.php的:

<?php 

$targetfolder = "testupload/"; 
$targetfolder = $targetfolder . basename($_FILES['file']['name']) ; 

if (move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder)) { 
    echo "The file ". basename($_FILES['file']['name']). " is uploaded"; 
} else { 
    echo "Problem uploading file"; 
} 

?> 
+0

您可以告诉我刚刚打开PHP TAG后的'print_r($ _ FILES)'的结果 –

+0

Try:'var_dump($ _ FILES ['file'] ['error'] );' –

+0

检查[move_uploaded_file()](http://php.net/manual/en/function.move-uploaded-file.php)。据描述告诉我,这个功能是为了移动已经上传的文件。您需要使用HTTP Post方法来上传文件。 – tyb

回答

0

这很难说,100%的把握 - 但通常这将表明权限或所有权问题。

尝试使用chmod 777 ./testupload

是否能解决问题的权限更改到父目录testupload为777,然后收紧权限 - 777将不适合用于生产。

0

1)上传的文件是否将其加入到tmp文件夹中? 2)也尝试var_dump($ _文件) 3)你是否获得目标文件夹的权限问题 4)有什么在http错误日志?

0

testupload目录的权限是否正确? www-data用户是否有权写入

相关问题