PHP无法上传比它更高的目录中的文件

标签 php file-upload

我上传文件的 PHP 脚本无法在比它本身更高级别的目录中执行此操作。

例如:它会保存在upload/(与脚本同级的相对路径)中,但不会保存在/usr/local/hello/中尽管文件权限完全相同。最大上传大小、最大帖子大小、执行时间都没有问题,并且安全模式已关闭。有人有什么想法吗?我什至无法得到错误消息 - 只是下面的 $worked 在失败时返回 false。

<?php
// Removed the rest of the error-checking code!
$contentDir = "/usr/local/hello/"; // <-- doesn't work, chmod 0777, owner: root, group root
//$contentDir = "upload/"; <-- works, chmod 0777 owner: root, group: root
error_reporting(E_ALL);
$filename = $_FILES["filey"]["name"];
$worked = move_uploaded_file(
              $_FILES["filey"]["tmp_name"], 
              $contentDir.$filename);
var_dump($worked);
?>

编辑:我的 open_basedir 设置由 phpinfo() 给出,如下:

Directive     Local Value   Master Value
open_basedir  no value  no value

谢谢!

最佳答案

open_basedir 配置变量可能会限制目录。

参见open_basedir在 PHP 手册中。

关于PHP无法上传比它更高的目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3295052/

相关文章:

php - 数据库/服务器设计(Cookie 和索引)- 整数还是文本?

php - PDO 分页不显示错误也不输出

php - HTML5 输入类型文件的多重属性在 IE 中不起作用?

jquery - Blueimp Bootstrap 文件上传 - 检测尚未上传的文件

ruby-on-rails - Encoding::CompatibilityError(不兼容的字符编码:UTF-8 和 ASCII-8BIT)- 将文件上传到 Heroku 时

php - 更新表中的图像,保留旧图像

php - 按特定类别从数据库中获取博客

php - 为什么我不能使用 php 插入 mysql 数据库?

python - 使用 webapp 和 Django 表单将文件上传到 App Engine

php 文件大小不适用于 URL(CDN URL)