Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $\u文件为空,但move\u上传的\u file()可以工作_Php_File Upload - Fatal编程技术网

Php $\u文件为空,但move\u上传的\u file()可以工作

Php $\u文件为空,但move\u上传的\u file()可以工作,php,file-upload,Php,File Upload,我有下一个代码: <?php if(empty($_FILES)) echo 'vacia'; else echo 'con algo'; var_dump($_FILES); $tempFile = $_FILES['Filedata']['tmp_name']; $fileName = $_FILES['Filedata']['name']; move_uploaded_file($tempFile, "./" . $fileName); ?> 现在,

我有下一个代码:

<?php
if(empty($_FILES)) 
    echo 'vacia'; 
else 
    echo 'con algo';
var_dump($_FILES);

$tempFile = $_FILES['Filedata']['tmp_name'];
$fileName = $_FILES['Filedata']['name'];

move_uploaded_file($tempFile, "./" . $fileName);
?>
现在,空的$\u文件是真的,因为它向我显示字符串“vacia”。还显示var_dump中的“array0{}”

但move_上传的_文件仍能完美工作。有人能给我解释一下吗


错误报告在我使用它的每一行中都会显示“Undefined index Filedata”,但我可以理解为什么move\u uploaded\u文件仍然有效://

您应该检查move\u uploaded\u文件的返回:

成功时为真,错误时为假。在你的情况下,它应该是假的。由于数组索引不存在,PHP将抛出一个E_通知级别错误并使用一个空字符串,因此您实际上是这样做的:

move_uploaded_file('', "./", '');

但如果未启用E_通知,则不会出现可见的错误消息。请参见

您可能需要检查该文件是否存在。名称存在并不意味着文件存在

if(is_file($_FILES['Filedata']['tmp_name'])){
    echo 'vacia'; 
}else{
    echo 'con algo';
    exit("File doesn't exist, I can't move it so I'm out!");
}
var_dump($_FILES);

$tempFile = $_FILES['Filedata']['tmp_name'];
$fileName = $_FILES['Filedata']['name'];

move_uploaded_file($tempFile, "./" . $fileName);

您的表单是否有包含正确类型的post方法?显示您的HTML表单。在打开@Fred ii-POST后立即将错误报告添加到文件顶部。几天前你告诉我的。她只需要确保它没有明确地得到:p@Adelphia这应该是POST,应该是默认lol,如果没有包含POST方法,那么表单默认为GET。@Fred ii-OOH,就是这样。我总是指定这样我就不知道了。实际上它返回的是真的D:这里发生了什么?无论我选择哪个文件,_file retun都是假的,但总是进行上载。你的HTML表单是什么样子的?
if(is_file($_FILES['Filedata']['tmp_name'])){
    echo 'vacia'; 
}else{
    echo 'con algo';
    exit("File doesn't exist, I can't move it so I'm out!");
}
var_dump($_FILES);

$tempFile = $_FILES['Filedata']['tmp_name'];
$fileName = $_FILES['Filedata']['name'];

move_uploaded_file($tempFile, "./" . $fileName);