【问题标题】:Saving a PDF file using PHP使用 PHP 保存 PDF 文件
【发布时间】:2012-05-25 05:12:00
【问题描述】:

我在将 PDF 文件保存到服务器上的文件夹时遇到问题。该代码一次有效,但现在无效。我想要它做的是检查是否有人在提交表单时尝试上传 PDF,如果文件字段中有 PDF,它会上传它,然后将路径保存到 mysql 数据库。代码如下:

    if (!empty($_FILES['pdf'])){
          $idir = "../files/PDF/"; //my directory file is supposed to be saved in
          $randomd=rand(0000000,9999999); //creates a random number as filename
          $domain = "http://".$_SERVER['HTTP_HOST'];  
          $file_ext = strrchr($_FILES['pdf']['name'], '.'); grabs file extension. my code checked if the file was a pdf a different way and neither seems to work.
          $destination=$randomd.$file_ext; //new filename
          if ($file_ext=='pdf') {
                move_uploaded_file($_FILES['pdf']['tmp_name'], "$idir" . $destination);
                $pdf= $domain."/files/PDF/".$destination;                                             } else { echo("File type not supported.");  
mysql_query("UPDATE tbl_listings SET pdf='$pdf' WHERE listing_id='$lid'");
                                                                            }

if not empty 不起作用,它总是尝试上传文件,但是当我检查文件夹时,里面什么都没有,它不会更新 mysql。

【问题讨论】:

  • move_uploaded_file() 返回什么?
  • 此函数返回 TRUE 或 FALSE(在某些情况下会发出警告)。请参考documentation。我认为原因可能是写入权限或文件大小。也可以尝试使用绝对目标路径。
  • @yuvin 拔掉我的头发后,我发现这是一个简单的小错误,这正是我所怀疑的。应该说 if ($file_ext=='.pdf') { 我忘了一点点!!!

标签: php upload


【解决方案1】:

$_FILES['pdf'] 永远不会为空(当表单提交时),无论文件是否被选中,它都会返回一个数组。

勾选$_FILES['pdf']['error'],当没有文件上传时为4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-16
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 2019-04-09
    • 2019-08-19
    • 1970-01-01
    相关资源
    最近更新 更多