Php 为什么这个文件没有上传?

Php 为什么这个文件没有上传?,php,Php,PHP: HTML: 我得到了错误: 警告:文件大小:中todo.txt的stat失败 …/Dropbox/项目/网站 第34行的Projects/serverside/assignment2/index.php 警告:文件大小:中todo.txt的stat失败 …/Dropbox/项目/网站 第46行的Projects/serverside/assignment2/index.php 警告:文件\u get\u contentstodo.txt:无法打开流:没有这样的 位于…/Dropbox

PHP:

HTML:

我得到了错误:

警告:文件大小:中todo.txt的stat失败 …/Dropbox/项目/网站 第34行的Projects/serverside/assignment2/index.php

警告:文件大小:中todo.txt的stat失败 …/Dropbox/项目/网站 第46行的Projects/serverside/assignment2/index.php

警告:文件\u get\u contentstodo.txt:无法打开流:没有这样的 位于…/Dropbox/Projects/Website中的文件或目录 第77行的Projects/serverside/assignment2/index.php

该文件不在$\u FILES['file-input']['name']中。这将告诉您,当他们上载时,客户端计算机上的文件名。PHP将文件存储在服务器上的$_FILES['file-input']['tmp_name']中。因此,pathinfo无法工作,因为它要求文件位于磁盘上

您可以将$_文件['file-input']['name']拆分为点,并获取最后一个值:

$parts = explode(".", $_FILES['file-input']['name']);
$extension = end($parts);

请注意在不可写的文件/目录上使用此功能:您将收到如下警告:


警告:filesize[function.filesize]:第123行/var/www/xxx/yyy.php中/var/www/xxx/yyy.php的stat失败上传的文件路径存储在$_FILES[file input][tmp_name];,如果要对文件执行操作,则需要使用该选项

您当前使用的$_FILES[file input][name]不是您想要的。它包含用户计算机上的原始文件名。

请尝试此操作

       move_uploaded_file($_FILES['file-input']['tmp_name'],"file_upload_location/".$_FILES['file-input']['name']);
它可能会起作用。

在[…]中没有这样的文件或目录,你不明白吗?阅读错误消息!
$parts = explode(".", $_FILES['file-input']['name']);
$extension = end($parts);
       move_uploaded_file($_FILES['file-input']['tmp_name'],"file_upload_location/".$_FILES['file-input']['name']);