我试图在我的网站上创建一个上传模块,但是我得到了以下错误:
PHP警告:未知:有效的open_basedir限制。文件(C:\Windows\TEMP)不在第0行中未知路径(S):(E:\Domains\medisearch.com.br)允许的路径内,警告:文件上传错误--无法在第0行的未知中创建临时文件
发布于 2012-01-16 18:18:53
上传文件是一件危险的事情。这就是为什么php中存在限制以控制危险的原因。其中一个限制是"open_basedir“指令:它限制php可以读取文件(例如包含或要求)和写入文件(例如上传)。
将上传的文件保存在正常add空间之外的位置是个好主意,但是接下来您必须将上传目录添加到open_basedir中,如下所示:
见手册
http://www.php.net/manual/en/ini.core.php#ini.open-basedir
如果你做对了,在上传文件的时候还有大约100件事情可能出错,这些东西会在你的应用程序中打开一个漏洞。在尝试这样做之前,请阅读很多关于安全+ php的内容!
发布于 2012-01-16 18:16:41
有一个php.ini设置,upload_tmp_dir控制该目录。您必须在php.ini级别更改它。在脚本中通过ini_set()进行此操作将无法工作--在脚本开始执行之前很久,上传将被中止。
发布于 2012-01-16 18:17:42
您不能在php脚本上这样做,但是如果您可以访问php.ini,那么您可以从那里更改目录。您不能在php中更改它,因为它是PHP_INI_SYSTEM指令。
https://stackoverflow.com/questions/8884396
复制相似问题