更改为PHP设置后,PHP文件上载不起作用

时间:2015-05-10 21:57:24

标签: php file-upload

我有一个简单的PHP文件上传脚本来上传文件。它工作正常,但在更改PHP设置后,脚本没有上传文件,虽然我没有收到任何错误,它说它已成功上传。该脚本似乎正在完成其工作,但我无法在上传文件夹中看到任何文件。脚本中没有任何更改,因为除了php设置的更改之外,我必须请求主机执行以下PHP设置:

max_execution_time 60
memory_limit 128M
post_max_size 32M
upload_max_filesize 32M
allow_url_fopen = On (this was the last change, which I believe is the causing the issue).

这是我的上传脚本:

$ds = DIRECTORY_SEPARATOR;
$storeFolder = "uploads/";
$fileupload = basename( $_FILES['file']['name']);
$fileType = $_FILES['file']['type'];
$fileSize = $_FILES['file']['size'];
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
$targetFile =  $targetPath. $fileupload;
move_uploaded_file($tempFile,$targetFile);  

注意:我不是要上传一个巨大的文件,就像我说的那样,脚本没有任何错误,但是我无法看到上传文件夹中的文件。

我甚至不确定这是否是因为我的PHP设置更改。任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:1)

我认为您设置正确,但您的PHP代码中有错误,您指定存储文件的目录。你可以用简单的

$storeFolder = "uploads/";
$fileupload = basename($_FILES['file']['name']);
$fileType = $_FILES['file']['type'];
$fileSize = $_FILES['file']['size'];
$tempFile = $_FILES['file']['tmp_name'];
$targetFile =  $storeFolder.$fileupload;
if(move_uploaded_file($tempFile,$targetFile)){
    echo 'file uploaded' ;
else
    echo 'file not uploaded';
}