我已经在SO和Web上进行了广泛检查,但是我无法对其进行梳理,因此感觉卡住了。
这是PHP代码(非常原始),我用来显示书籍文件的上传按钮:
$partpath = "var/www/libreria/lib-folder/";
if (isset($_POST['upload'])){
$file = $_FILES['file'];
$fileName = $_FILES['file']['name'];
$fileTmpName = $_FILES['file']['tmp_name'];
$fileSize = $_FILES['file']['size'];
$fileError = $_FILES['file']['error'];
$fileType = $_FILES['file']['type'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('epub', 'mobi', 'pdf');
if (in_array($fileActualExt, $allowed)){
if ($fileError === 0) {
if ($fileSize < 100000000) {
$fileDestination = $partpath.$fileName;
move_uploaded_file($fileTmpName, $fileDestination);
echo "Upload completato <br><br>";
} else {
echo "File too big <br>";
}
} else {
echo "Error with file: error code ".$fileError." <br>";
}
} else {
echo "You cannot upload this <br>";
}
}
而且我不断出错:
Warning: move_uploaded_file(var/www/libreria/lib-folder/Mongoose for Application Development.pdf): failed to open stream: No such file or directory in /var/www/libreria/lib-folder/index.php on line 42
Warning: move_uploaded_file(): Unable to move '/tmp/phpg36Ubt' to 'var/www/libreria/lib-folder/Mongoose for Application Development.pdf' in /var/www/libreria/lib-folder/index.php on line 42
我正在Ubuntu本地主机上运行apache服务器,并且我已经尝试执行以下操作:
老实说,我不知道要检查什么或做些什么,如果有人可以给我提示我做错了,我将不胜感激。
感谢任何愿意花一分钟时间阅读和回答的人:)
似乎上传的文件的文件名包含空格字符。尝试在调用move_uploaded_file之前用$“ _”替换$ filename中的所有空格。