header("Content-Type:text/html; charset=utf-8");
if ($_FILES['test']['error'] === UPLOAD_ERR_OK){
echo 'filename: ' . $_FILES['test']['name'] . '<br/>';
if (file_exists('upload/' . $_FILES['test']['name']))
{
echo 'file exist<br/>';
}
else
{
$file = $_FILES['test']['tmp_name'];
$dest = 'upload/' . $_FILES['test']['name'];
move_uploaded_file($file, $dest);
echo "seccess";
}
}
else
{
echo 'error code:' . $_FILES['test']['error'] . '<br/>';
}
这是我的 PHP 代码,我只是想将一个简单的小 txt 文件上传到我的 apache 服务器。 当我在 localhost 中运行它时它有效,但当我尝试使用 apache 运行时错误代码 7。
chmod -R www-data:www-data /var/www
已将www-data设置为www的所有者,磁盘空间足以保存文件。
我能做些什么来解决错误代码 7 的问题吗?
请检查目录是否具有
writeable
权限。该错误表明您无权在该目录中保存或写入。
另外,检查该目录的磁盘空间。
有关错误代码的更多详细信息,请参阅此链接: http://php.net/manual/en/features.file-upload.errors.php
这也可能是您的临时文件空间不足(刚刚发生在我身上) - 这是文件上传时所在的位置。
您可以在 php.ini 文件中的以下值下找到 tmp 文件目标:
上传_tmp_dir
通常情况下,文件上传完成后,它会自行清理,但在我的情况下,我的一位管理员在那里复制了一些视频以安全保存,同时腾出更多空间,因此我可以上传小文件但不能上传大文件的症状,它一开始很困惑。
如果您的上传文件大于临时空间,也可能会发生这种情况 - 尽管我还没有测试过这一点。
我知道这是一篇旧帖子。虽然,我通过修改selinux标志解决了错误7:
setsebool -P httpd_can_network_connect 打开
我希望任何来这里寻求解决错误curl error 7 的人都会发现这很有用。