【发布时间】:2020-05-15 23:36:03
【问题描述】:
我已经在 SO 和网络上进行了广泛的检查,但我无法解决这个问题,我感觉卡住了。
这是我用来显示图书文件上传按钮的 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 localhost 上运行 apache 服务器,并且我已经尝试执行以下操作:
- 设置root傻瓜www/var权限为777和755;
- 为我自己和 www-data 设置文件夹的所有权;
老实说,我不知道该检查什么或做什么,如果有人能给我提示我做错了什么,我将不胜感激。
感谢任何愿意花一分钟阅读和回答的人:)
【问题讨论】:
-
只是一个猜测,但您的来源似乎不存在:警告:move_uploaded_file(var/www/libreria/lib-folder/Mongoose for Application Development.pdf):无法打开流:没有这样文件或目录。似乎 / 缺失,就在 var 之前 :)
-
@corax228 伙计,谢谢。我想这就是为什么他们告诉你不要熬夜和编码直到很晚......
标签: php file-upload