Php $\u文件和表单数据

Php $\u文件和表单数据,php,Php,正在尝试读取用户是否已上载文件 HTML: 我想看看用户是否选择了要上传的文件。在我的代码中,程序每次转到$upload=1;甚至没有包含任何文件。您可以使用PHP的和函数检查文件是否已上载 if (!file_exists($_FILES['img']['tmp_name']) || !is_uploaded_file($_FILES['img']['tmp_name'])) { $upload = 1; echo "upload 1"; } else { $upload = 0;

正在尝试读取用户是否已上载文件

HTML:

我想看看用户是否选择了要上传的文件。在我的代码中,程序每次转到$upload=1;甚至没有包含任何文件。

您可以使用PHP的和函数检查文件是否已上载

if (!file_exists($_FILES['img']['tmp_name']) || !is_uploaded_file($_FILES['img']['tmp_name'])) {
  $upload = 1;
  echo "upload 1";
} else {
  $upload = 0;
  echo "upload 0";
}

不要只检查
isset($\u文件['img'])
,检查
$\u文件['img']['error']的值是多少
。如果是0,则没有错误,文件应该在那里-但这也应该通过
is\u uploaded\u文件($\u FILES['img']['tmp\u name'])进行验证。
。 你可以查一下

根据:

我的示例还使用了实际值。事实上,你也可以做:

$upload = isset($_FILES['img']) && $_FILES['img']['error'] === UPLOAD_ERR_OK;

如果(isset($\u FILES['img']['temp\u name']){}不尝试猜测文件上载的工作方式,请尝试此操作。相反,请查看并自由询问可能仍然不清楚的具体细节。我使用if(!empty($\u FILES['img']['tmp\u name']){…}。我不知道这是否是最好的方法,但它对我有效。我从来都不需要检查临时文件是否存在。如果填充了
$\u FILES
-变量,并且
$\u FILES['img']['error']
0
,则可以非常依赖临时文件。此外,您可能应该使用
is_file()
而不是
file_exists()
来检查文件,因为后者将返回文件和文件夹的
true
。哇,谢谢大家!文件存在且已上载。文件函数解决了此问题。我猜在我的方法isset($_FILES['img'])中,刚刚检查了没有正确值的'img'。托尼如果答案对你有用,你可以用左边的箭头+1<代码>;-)
if (!file_exists($_FILES['img']['tmp_name']) || !is_uploaded_file($_FILES['img']['tmp_name'])) {
  $upload = 1;
  echo "upload 1";
} else {
  $upload = 0;
  echo "upload 0";
}
if (isset($_FILES['img']) && $_FILES['img']['error'] === UPLOAD_ERR_OK) {
    $upload = true;
    echo "upload true";
} else {
    $upload = false;
    echo "upload false";
}
$upload = isset($_FILES['img']) && $_FILES['img']['error'] === UPLOAD_ERR_OK;