我正在尝试调整上传脚本以适应 000webhost。我不断收到有关目标文件夹不存在的错误。这就是我所拥有的:
define('DESTINATION_FOLDER','/uploads/');
我也试过
/public_html/uploads/
和
/subdomain/domain/com/uploads/
在示例中,我看到人们使用 /www/,但我不知道它在哪里。
在这种情况下使用的正确语法是什么?
尝试这个:
define('DESTINATION_FOLDER',$_SERVER['DOCUMENT_ROOT'].'/uploads/');
如果平台独立性对您很重要,请考虑使用 PHP 常量 DIRECTORY_SEPARATOR:
define('DESTINATION_FOLDER',$_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.
'uploads'.DIRECTORY_SEPARATOR);
http://php.net/manual/en/dir.constants.php
编辑:
在文档根目录下存储上传可能存在安全风险。除非您希望 Web 服务器可以直接访问这些文件,否则您应该考虑将它们存储在您的 Web 空间内的文档根目录之外。如果您在主机的“public_html”文件夹旁边创建了一个名为“uploads”的文件夹,您可以像这样访问它:
define('DESTINATION_FOLDER',$_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.
'..'.DIRECTORY_SEPARATOR. // (up one level)
'uploads'.DIRECTORY_SEPARATOR);
/
或者直接指定文件夹的绝对路径(以 开头)。