我用PHP编写了一个脚本,该脚本应该可以让yuo上传文件。但是,在上传文件后,似乎无法将文件移动到正确的文件夹中。任何人都可以看到问题所在吗?
以下是代码:
echo 'This is upload.php';
$target_path = 'wwwroot/rsfleet.co.uk/ipad_test/sub/';
echo 'Size of file: ';
echo $_FILES['userfile']['size'];
$target_path = $target_path . basename($_FILES['userfile']['name']);
echo $target_path;
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'File uploaded OK.';
} else {
echo 'Problem with file upload.';
}
if (move_uploaded_file(basename($_FILES['userfile']['tmp_name']), $target_path)) {
echo 'The file ' . basename($_FILES['userfile']['name']) . ' has been moved';
}
else
{
echo 'Error moving file. Please try again.';
}
echo 'End of page.';
答案 0 :(得分:2)
move_uploaded_file(basename($_FILES['userfile']['tmp_name']), ...)
这不起作用。它只有在临时文件存储在工作目录中时才有效(protip:它不是)。请改用以下内容:
move_uploaded_file($_FILES['userfile']['tmp_name'], ...)
答案 1 :(得分:0)
更改
(move_uploaded_file(($_FILES['userfile']['tmp_name']),
到
(move_uploaded_file(($_FILES['userfile']['tmp_name']),
它可能会起作用
因为$ _FILES ['userfile'] ['tmp_name']已经有完整路径
答案 2 :(得分:0)
检查文件夹是否具有正确的权限,这些权限称为CHMOD命令。
在像Filezilla这样的FTP程序中,您可以通过右键单击该文件夹并单击“文件权限...”来设置这些权限。
答案 3 :(得分:0)
我想问题就在这里:
$target_path = 'wwwroot/rsfleet.co.uk/ipad_test/sub/';
更改为
$target_path = '/wwwroot/rsfleet.co.uk/ipad_test/sub/';
但这只是假设。
同样,移动文件时不需要basename
。