上传PDF文件PHP

时间:2015-09-17 04:57:42

标签: php mysql pdf

我正在尝试仅以表格形式上传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>

请帮助!!

2 个答案:

答案 0 :(得分: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>";
    }

}
  

注意在上传文件之前,您应该检查其格式是否正确

     在PHP 5.5.0中不推荐使用

MySQL扩展名,并在PHP 7.0.0中将其删除。相反,应使用MySQLiPDO_MySQ L扩展名。

答案 1 :(得分:1)

使用它现在正在我已经在当地进行了测试。

<?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>