0

我正在尝试在我的网站上制作上传模块,但出现以下错误:

PHP 警告:未知:open_basedir 限制生效。文件(C:\Windows\TEMP)不在允许的路径内:(E:\Domains\medisearch.com.br)在第 0 行的未知 PHP 警告:文件上传错误 - 无法在第 0 行未知

4

4 回答 4

3

有一个 php.ini 设置,upload_tmp_dir它控制该目录。您必须在 php.ini 级别更改它。通过ini_set()在您的脚本中执行此操作将不起作用 - 上传将在您的脚本开始执行之前很久就中止。

于 2012-01-16T18:16:41.707 回答
1

您不能在您的 php 脚本上执行此操作,但如果您可以访问 php.ini,那么您可以 从那里更改upload_tmp_dir 。您不能在 php 中更改它,因为它是 PHP_INI_SYSTEM 指令

于 2012-01-16T18:17:42.907 回答
0

打开 php.ini 并搜索“upload_tmp_dir”

将此更改为新位置

于 2012-01-16T18:16:29.117 回答
0

上传文件是一件危险的事情。这就是为什么 php 有限制来控制危险的原因。其中一个限制是“open_basedir”指令:它限制了 php 可以读取文件(例如包含或要求)和写入文件(例如上传)的位置。

将上传的文件保存在正常网络空间之外的地方是个好主意,但是您必须将上传目录添加到 open_basedir,如下所示:

参见手册

http://www.php.net/manual/en/ini.core.php#ini.open-basedir

如果你做对了,上传文件时仍有大约 100 件事情可能出错,这些事情会在你的应用程序中打开一个漏洞。在尝试执行此操作之前,请阅读有关安全性 + php 的大量信息!

于 2012-01-16T18:18:53.560 回答