file_get_contents():文件名不能为空(上传文件可选)

机甲金属头

我是 php 新手。我在php中做了一个简单的上传表单。这是我的代码。

<html><head></head>
<body>

<form method="post" action="" enctype="multipart/form-data">

    Upload File:
    <input type="file" name="upload" /><br> 
    <input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>

<?php
include("config.php");

if(isset($_POST['submit'])  )
{


$filename = $con->real_escape_string($_FILES['upload']['name']);
$filedata= $con->real_escape_string(file_get_contents($_FILES['upload']['tmp_name']));
$filetype = $con->real_escape_string($_FILES['upload']['type']);
$filesize = intval($_FILES['upload']['size']);

if ($_FILES['upload']['name'] == 0 ){

echo "<br><br> New record created successfully";

}

else {

    $query = "INSERT INTO contracts(`filename`,`filedata`, `filetype`,`filesize`) VALUES ('$filename','$filedata','$filetype','$filesize')" ;

    if ($con->query($query) === TRUE) {
    echo "<br><br> New record created successfully";
    } else {
    echo "Error:<br>" . $con->error;
    }

}
$con->close(); 
}   

?>

它工作正常。但是如果我在没有附加文件的情​​况下按下提交,它会显示错误,警告: file_get_contents(): Filename cannot be empty in C:\xampp\htdocs\contractdb\filetest.php on line 20 。

我希望上传文件是可选的,因为并非每个用户都有要附加的文件。我还希望用户在上传后下载文件而不删除 file_get_contents($_FILES['upload']['tmp_name'])。

我该怎么做呢?

阿姆阿里

您应该在调用之前进行检查,file_get_content()这样它就不会抛出错误,并且只有在文件输入不为空时才调用该函数:

if(isset($_POST['submit'])  ) {

if ($_FILES['upload']['size'] != 0 ) {

  $filename = $con->real_escape_string($_FILES['upload']['name']);
  $filedata= $con->real_escape_string(file_get_contents($_FILES['upload']
  ['tmp_name']));
  $filetype = $con->real_escape_string($_FILES['upload']['type']);
  $filesize = intval($_FILES['upload']['size']);


  $query = "INSERT INTO contracts(`filename`,`filedata`, `filetype`,`filesize`) VALUES ('$filename','$filedata','$filetype','$filesize')" ;

  if ($con->query($query) == TRUE) {
   echo "<br><br> New record created successfully";
  } else {
   echo "Error:<br>" . $con->error;
  }

 } 

 else {
   echo 'error: empty file';
 }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

file_get_contents给出错误文件名不能为空

来自分类Dev

file_get_contents提供错误文件名不能为空

来自分类Dev

PHP-file_get_contents():文件名不能为空

来自分类Dev

CSV大文件上传-文件名不能为空

来自分类Dev

上传图片时文件名不能为空错误

来自分类Dev

缩略图上传警告getimagesize()警告:文件名不能为空

来自分类Dev

缩略图上传警告getimagesize()警告:文件名不能为空

来自分类Dev

上传图片时文件名不能为空错误

来自分类Dev

copy():文件名不能为空-对于某些文件

来自分类Dev

php错误:“文件名不能为空”

来自分类Dev

php 警告:require():文件名不能为空

来自分类Dev

警告 ftp_put() 文件名不能为空

来自分类Dev

preg_replace和file_get_contents无法读取阿拉伯文文件名

来自分类Dev

将大尺寸 CSV 导入 SQL 得到此警告:fopen():文件名不能为空

来自分类Dev

file_get_contents找不到文件

来自分类Dev

如何`file_get_contents()`多个文件?

来自分类Dev

如何从文件名glob创建可能为空的数组?

来自分类Dev

为什么有时file_get_contents不能用于文件url?

来自分类Dev

file_get_contents不适用于php文件

来自分类Dev

从加载了file_get_contents的文件中访问特定值

来自分类Dev

HTML文件中file_get_contents之后出现空格

来自分类Dev

错误,包括带有file_get_contents()的文件

来自分类Dev

root拥有的文件的file_get_contents

来自分类Dev

在file_get_contents之前预处理文件

来自分类Dev

GAE:file_get_contents()和静态文件

来自分类Dev

PHP:空结果-file_get_contents

来自分类Dev

上传文件,检查相同的文件名

来自分类Dev

Django:显示上传文件的文件名

来自分类Dev

上传文件时更改文件名

Related 相关文章

热门标签

归档