【问题标题】:Upload PDF Files PHP上传 PDF 文件 PHP
【发布时间】:2015-09-17 04:57:42
【问题描述】:

我尝试仅上传表单中的 PDF 文件,但没有任何反应。它不会将文件名保存在数据库中,并且文件不会保存到目录中。 我的 PHP 代码是

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

   $folder_path = 'health/';

   $filename = basename($_FILES['healthfile']['name']);
   $newname = $folder_path . $filename;

   if (move_uploaded_file($_FILES['healthfile']['tmp_name'], $newname)) {
      if ($_FILES['healthfile']['type'] != "application/pdf") {

          echo "<p>Class notes must be uploaded in PDF format.</p>";
      } else {
          $filesql = "INSERT INTO tbl_health (link) VALUES ('{$filename}')".die(mysql_error());
          $fileresult = mysql_query($filesql, $con).die(mysql_error());
     }

     if ($fileresult) {
          echo 'Success';
     } else {
          echo 'fail';
     }
  }

}

我的表格是

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

    <label>Upload Your Health Certificate</label>
    <span class="btn btn-default btn-file">
         Browse <input name="healthfile" type="file">
    </span>
    <br/><br/>
    <button type="button" name="submit" class="btn-success">Submit</button>
</form>

请帮忙!!

【问题讨论】:

  • 这是一个独特的$filesql 你去那里
  • 这是什么意思?独一无二?
  • 我刚刚加热了浓缩咖啡和爆米花机 @Drew,我所有的cmets都没有认真对待。
  • @Drew 我想知道是否每个人都在享受他们的(sql)注入镜头。我宁愿来一杯浓缩咖啡。但在这一点上,最好让它成为双倍。
  • @Drew 认为如果您或我会提交答案... wowzers。 超过 1/2 小时的他们来回评论。我会以每小时 125.00 美元的价格向他们发送帐单,至少 1 小时。 ;-) 好的,我要离开了。 ciao!

标签: php mysql pdf


【解决方案1】:

使用这个

if(isset($_POST["submit"]))
{
    $folder_path = 'health/';

    $filename = basename($_FILES['healthfile']['name']);
    $newname = $folder_path . $filename;

    $FileType = pathinfo($newname,PATHINFO_EXTENSION);

    if($FileType == "pdf")
    {
        if (move_uploaded_file($_FILES['healthfile']['tmp_name'], $newname))
        {

            $filesql = "INSERT INTO tbl_health (link) VALUES('$filename')";
            $fileresult = mysql_query($filesql);

            if (isset($fileresult))
            {
                echo 'File Uploaded';
            } else
            {
                echo 'Something went Wrong';
            }
        }
        else
        {

            echo "<p>Upload Failed.</p>";
        }


    }
    else
    {
        echo "<p>Class notes must be uploaded in PDF format.</p>";
    }

}

注意上传文件前请检查文件格式是否正确

MySQL 扩展在 PHP 5.5.0 中被弃用,并在 PHP 7.0.0 中被删除。相反,应使用 MySQLiPDO_MySQL 扩展名。

【讨论】:

  • 不,一旦我点击提交按钮,什么都没有发生
  • 这个if (isset($_POST['submit'])) {怎么样
  • 如果他不是。你的是
  • @Andrew 正在上传文件吗??
  • 浏览完文件后点击提交按钮上传页面保持原样。它不显示任何消息,并且没有任何内容保存在数据库和文件夹中
【解决方案2】:

使用这个它现在可以工作了,我已经在本地测试过。

<?php 
if (isset($_POST['submit'])) {

    $folder_path = 'health/';

    $filename = basename($_FILES['healthfile']['name']);
    $newname = $folder_path . $filename;

    if ($_FILES['healthfile']['type'] == "application/pdf")
    {
        if (move_uploaded_file($_FILES['healthfile']['tmp_name'], $newname))
        {

            $filesql = "INSERT INTO tbl_health (link) VALUES('$filename')";
            $fileresult = mysql_query($filesql);
        }
        else
        {

            echo "<p>Upload Failed.</p>";
        }

        if (isset($fileresult))
        {
            echo 'Success';
        } else
        {
            echo 'fail';
        }
    }
    else
    {
        echo "<p>Class notes must be uploaded in PDF format.</p>";
    }

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

            <label>Upload Your Health Certificate</label>
                <span class="btn btn-default btn-file">
                    Browse <input name="healthfile" type="file">
                </span>
            <br/><br/>
            <input type="submit" name="submit" class="btn-success" value="submit">
        </form>

【讨论】:

  • 谢谢,它成功了,但是文件名没有保存到数据库中
  • @Andrew 你必须保存文件名而不是完整文件。当您访问文件时,请提供该目录的路径并从数据库中获取文件名。
  • @Andrew 明白了吗?建立数据库连接然后尝试。
  • 我已经检查了表名字段一切似乎都正确
猜你喜欢
  • 2017-05-24
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2011-06-29
  • 2014-04-19
  • 2014-08-22
相关资源
最近更新 更多