我想在ftp上传文件.
这是我的代码
$jname= "Accounts of Biotechnology Research";
if (!is_dir('/Trade/upload/ '.$jname)) {
mkdir('/Trade/upload/ '.$jname); // line 63
}
move_uploaded_file($_FILES["submission_file"]["tmp_name"], "/Trade/upload/$jname/" . $dup_name ); // line 67
Run Code Online (Sandbox Code Playgroud)
Trade是public_html文件夹中的一个文件夹.
当我上传文件时,它会给我一个警告,比如
Warning: mkdir() [function.mkdir]: No such file or directory in /home/my_username/public_html/Trade/upload.php on line 63
Warning: move_uploaded_file(/Trade/upload/Accounts of Biotechnology Research/76164762-sm.pdf) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/my_username/public_html/Trade/upload.php on line 67
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phphZXp0O' to '/Trade/upload/Accounts of Biotechnology Research/76164762-sm.pdf' in /home/my_username/public_html/Trade/upload.php on line 67
Run Code Online (Sandbox Code Playgroud)
第一:你在这里有一个空间mkdir('/Trade/upload/ '.$jname);.假设你应该mkdir('/Trade/upload/'.$jname);(is_dir相同)
第二:确保您可以写入Trade/upload目录.
第三(我认为这是真正的问题):
看起来您正在尝试上传到具有完整路径的目录:
/home/my_username/public_html/Trade/upload/,但您的代码将尝试创建具有完整路径的目录:
/Trade/upload/.你需要改变
if (!is_dir('/Trade/upload/ '.$jname)) {
mkdir('/Trade/upload/ '.$jname); // line 63
}
Run Code Online (Sandbox Code Playgroud)
至
if (!is_dir('upload/'.$jname)) {
mkdir('upload/'.$jname); // line 63 (or maybe there should be Trade/upload, but suppose current working dir will be /home/my_username/public_html/Trade, so only upload/)
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是强制mkdir以递归方式创建目录:
mkdir('/Trade/upload/'.$jname, 0755, true);
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,文件将被上传到/Trade/upload/...而不是/home/my_username/public_html/Trade/upload/...
| 归档时间: |
|
| 查看次数: |
28862 次 |
| 最近记录: |