我想通过https将文件上传到我的服务器(家庭网络中的RaspberryPi(raspbian)上的Apache),然后用PHP将其写入磁盘。我收到了move_uploaded_file(): Unable to move '/tmp/php2W6AMo' Permission denied
错误。为了解决这个问题,我尝试更改临时上传文件的目录,但它无法正常工作。
本准则:
<?php
ini_set('upload_tmp_dir', '/var/www/upload_tmp_dir/');
echo ini_get('upload_tmp_dir') .'\n';
print_r($_FILES);
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "It worked.\n";
} else {
echo "Error!\n";
}
?>
产生以下输出:
/var/www/upload_tmp_dir
Array
(
[userfile] => Array
(
[name] => test.txt
[type] => application/octet-stream
[tmp_name] => /tmp/phpq9iDg3
[error] => 0
[size] => 124184
)
)
php.ini
说:/var/www/upload_tmp_dir
。与phpinfo()
相同。
为什么它仍然将文件上传到/tmp
?
我有什么监督的吗?
谢谢你的帮助。