我正在尝试在我的网站上创建一个上传模块,但我收到以下错误:
PHP警告:未知:open_basedir限制生效。文件(C:\ Windows \ TEMP)不在允许的路径中:(E:\ Domains \ medisearch.com.br)在第0行的未知中 PHP警告:文件上传错误 - 无法在第0行的“未知”中创建临时文件
答案 0 :(得分:3)
有一个php.ini设置,upload_tmp_dir
控制该目录。您必须在php.ini级别更改它。在脚本中通过ini_set()
执行此操作将无效 - 上传将在脚本开始执行之前很久就已中止。
答案 1 :(得分:1)
你不能在php脚本上执行此操作,但如果您可以访问php.ini,则可以更改upload_tmp_dir 从那里。你不能在php中更改它,因为它是PHP_INI_SYSTEM指令
答案 2 :(得分:0)
打开php.ini并搜索“upload_tmp_dir”
将此更改为新位置
答案 3 :(得分:0)
上传文件是一件危险的事情。这就是为什么php中存在限制危险的限制。其中一个限制是“open_basedir”指令:它限制了php可以读取文件的位置(例如包括或要求)和写入文件(例如上传)。
将上传的文件保存在普通网站空间之外的地方是个好主意,但是你必须将上传目录添加到open_basedir中,如下所示:
请参阅
手册http://www.php.net/manual/en/ini.core.php#ini.open-basedir
如果你做对了,上传文件时仍然会发生大约100件可能出错的事情,这些事情会在你的应用中打开漏洞。在尝试这样做之前,请阅读很多关于security + php的内容!