在 move_uploaded_file 中传递根路径

passing root path in move_uploaded_file

我有一个名为 SADMIN 的常量变量

define('SADMIN','http://localhost/synthesis_study_material/student_admin/');

并且我正在尝试在我的 move_uploaded_file 函数中使用 SADMIN 常量

move_uploaded_file($_FILES['name']['tmp_name'], SADMIN."include/uploaded/epub/".$_POST['name']);

我当前的文件在

http://localhost/synthesis_study_material/synthesis_notes_admin/index.php

文件没有上传到预期的文件夹中,move_uploaded_file没有给出任何警告或错误

move_uploaded_file 的目标需要是文件路径,而不是 url。为了澄清这一点,您的网络服务器在文件系统上有一个指定的文件夹设置为网络根目录。这可能类似于“/var/www”。这意味着当您转到“http://localhost/”时,它将查找诸如“/var/www/index.php”或“/var/www/index.php”之类的文件。

目标可能是绝对路径或相对路径,因此您可以提供 'synthesis_study_material/student_admin/' 并且可能与 '/var/www/synthesis_study_material/student_admin/ '(取决于您的网络根目录和调用 move_uploaded_file 的位置)。请注意,您可以使用 dirname(__FILE__) 获取当前 php 文件的路径。另请注意,如果目录不存在,move_uploaded_file 将不会为您创建目录。

我建议从一个简单的示例开始,例如 move_uploaded_file($_FILES['name']['tmp_name'], 'test-upload.txt'); 查看是否有任何内容上传,然后从那里进行修改。