如何在不上传图片的情况下提交表格?

时间:2017-03-07 17:13:36

标签: php

如果我不上传图片,我在提交表单时遇到问题。 我有一个代码将图片上传到表单并将该图片放入我的图像文件夹,然后我使用该图像路径以PDF格式显示图像。

if (isset($_FILES['img'])){

    $uploaddir = '../images/';
    $img1 = $uploaddir . basename($_FILES['img']['name']);

    if (is_uploaded_file($_FILES['img']['tmp_name'])) {
        // move the file to the desired place
        if (move_uploaded_file($_FILES['img']['tmp_name'], $img1)) {
            echo "File is valid, and was successfully uploaded.";
        } else {
            echo "Possible file upload attack!";
        }
    }
}

稍后我设置我的变量$img = $img1,然后以PDF格式输出上传的图片。

$pdf->Image($img,10,70,90);

但是,如果不上传图片,我会收到错误:

  

“未捕获异常'异常',消息'FPDF错误:不支持   图像类型“

我正在使用FPDF创建PDF文件。 在此先感谢您的帮助。附:如果你认为我可以用代码做些更好的事情,我愿意接受建议,我只是一个初学者

3 个答案:

答案 0 :(得分:0)

使用此项检查文件是否已上传

if (!file_exists($_FILES['img']['tmp_name']) || !is_uploaded_file($_FILES['img']['tmp_name']))
{
   echo 'No upload';
}

答案 1 :(得分:0)

您可以像这样检查上传:

if($_FILES['img']['error'] == UPLOAD_ERR_NO_FILE) { // No file was uploaded.
    // Do something
}

if($_FILES['img']['error'] == UPLOAD_ERR_OK) { // There is no error, the file uploaded with success.
    // Do something
}

答案 2 :(得分:0)

在PHP中,您可以从全局变量$ _FILES获取文件详细信息:

  • 名称
  • tmp_name的值
  • 错误
  • 尺寸

在您的情况下,您可以使用:

// Check file size is greater than 0
if ($_FILES['size'] > 0 && !empty($_FILES['name'])) {
   // here process FPDF to create PDF file
   // then show successful message
   // any other validation can include in this block
}
else 
{
   // Show error message on your website
}

但您也可以检查文件类型以获得更安全和无错误的技术