PHP 更改 PHP 设置后文件上传不工作
PHP File Upload Not Working after change to PHP settings
我有一个简单的 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 设置更改。非常感谢任何帮助!
很确定应该是:
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.basename($_FILES['file']['name']));
我认为您的设置是正确的,但是您的 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';
}
我有一个简单的 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 设置更改。非常感谢任何帮助!
很确定应该是:
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.basename($_FILES['file']['name']));
我认为您的设置是正确的,但是您的 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';
}