Php 如何添加上载PDF文件的功能?

Php 如何添加上载PDF文件的功能?,php,Php,我正在创建一个表单,用户可以在其中插入jpg、jpeg、png、gif格式的图像。这个想法是除了图像之外还要添加pdf文件,但我不知道如何添加该功能。很抱歉,我问了一些已经解释了很多次的问题,但我在这个问题上坚持了一段时间,我尝试了很多方法来更改代码,但仍然一无所获 这是我在user.php中的代码 function uploadFile() { $result_message = ""; if($this->image) { $target_direc

我正在创建一个表单,用户可以在其中插入jpg、jpeg、png、gif格式的图像。这个想法是除了图像之外还要添加pdf文件,但我不知道如何添加该功能。很抱歉,我问了一些已经解释了很多次的问题,但我在这个问题上坚持了一段时间,我尝试了很多方法来更改代码,但仍然一无所获

这是我在user.php中的代码

function uploadFile() {


    $result_message = "";

    if($this->image) {

      $target_directory = "uploads/";
      $target_file = $target_directory . $this->image;
      $file_type = pathinfo($target_file, PATHINFO_EXTENSION);

      $file_upload_error_messages = "";

      $check = getimagesize($_FILES["image"]["tmp_name"]);
      if($check != false) {
        // submited file is an image
      } else {
        $file_upload_error_messages .= "<div>Submitted file is not an image.</div>";
      }

      $allowed_file_types = array("jpg", "jpeg", "png", "gif", "pdf");
      if(!in_array($file_type, $allowed_file_types)) {
        $file_upload_error_messages .= "<div>Only JPG, JPEG, PNG, GIF, PDF are allowed.</div>";
      }

      if(file_exists($target_file)) {
        $file_upload_error_messages .= "<div>Image already exists. Try to change file name.</div>";
      }

      if($_FILES['image']['size'] > (1024000)) {
        $file_upload_error_messages .= "<div>Image must ber less than 1 MB in size.</div>";
      }

      if(!is_dir($target_directory)) {
        mkdir($target_directory, 0777, true);
      }
      if(empty($file_upload_error_messages)) {
        if(move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {

        } else {
          $result_message .= "<div class='alert alert-danger'>";
            $result_message .= "<div>Unable to upload photo.</div>";
            $result_message .= "<div>Update the record to upload photo.</div>";
          $result_message .= "</div>";
        }
      }
      else {
        $result_message .= "<div class='alert alert-danger'>";
          $result_message .= "{$file_upload_error_messages}";
          $result_message .= "<div>Update the record to upload photo.</div>";
        $result_message .= "</div>";
      }
    }
    return $result_message;
  }
当我试图为pdf文件更改或添加一些新功能时,我会收到一个错误,显示未定义索引

这是我也尝试过的,但没有成功

$targetfolder = "testupload/";

 $targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;

 $ok=1;

$file_type=$_FILES['file']['type'];

if ($file_type=="application/pdf" || $file_type=="image/gif" || $file_type=="image/jpeg") {

 if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder))

 {

 echo "The file ". basename( $_FILES['file']['name']). " is uploaded";

 }

 else {

 echo "Problem uploading file";

 }

}

else {

 echo "You may only upload PDFs, JPEGs or GIF files.<br>";

}
$targetfolder=“testupload/”;
$targetfolder=$targetfolder。basename($_FILES['file']['name']);
$ok=1;
$file\u type=$\u FILES['file']['type'];
如果($file_type==“application/pdf”| |$file_type==“image/gif”| |$file_type==“image/jpeg”){
如果(移动上传的文件($文件['file']['tmp\u名称],$targetfolder))
{
回显“文件”。已上载基本名称($_FILES['file']['name']);
}
否则{
echo“上传文件时出现问题”;
}
}
否则{
echo“您只能上载PDF、JPEG或GIF文件。
”; }
您能否发布完整的错误消息,以便我们查看您从何处获得未定义的索引错误?我可以建议,如果您在一个文件中处理文件上载,那么另一个文件无法通过$\u文件访问该文件。这可能是您出现此错误的原因。请提供有关上载表单的操作的详细信息。例如,我尝试将$\u文件中的图像替换为文件,我没有收到错误,但当我检查数据库行中的文件时,它是空的。然后我试着上传图片,文件,然后我有一个错误,说未定义的索引我确信它不仅说未定义的索引,但在哪个文件,在哪一行发生了。你能分享一个完整的错误吗?你可以看到我添加的代码,这是我也尝试过但没有任何luckNotice:Undefined index:file in C:\MAMP\htdocs\php-login-script-level-1\objects\user.php第140行注意:Undefined index:file in C:\MAMP\htdocs\php-login-script-level-1\objects\user.php第142行注意:Undefined index:file inC:\MAMP\htdocs\php-login-script-level-1\objects\user.php第143行的无效文件…这是我得到的错误消息@RenéBeneš你能发布完整的错误消息吗?这样我们就可以看到你从哪里得到未定义的索引错误了?我可以建议,如果您在一个文件中处理文件上载,那么另一个文件无法通过$\u文件访问该文件。这可能是您出现此错误的原因。请提供有关上载表单的操作的详细信息。例如,我尝试将$\u文件中的图像替换为文件,我没有收到错误,但当我检查数据库行中的文件时,它是空的。然后我试着上传图片,文件,然后我有一个错误,说未定义的索引我确信它不仅说未定义的索引,但在哪个文件,在哪一行发生了。你能分享一个完整的错误吗?你可以看到我添加的代码,这是我也尝试过但没有任何luckNotice:Undefined index:file in C:\MAMP\htdocs\php-login-script-level-1\objects\user.php第140行注意:Undefined index:file in C:\MAMP\htdocs\php-login-script-level-1\objects\user.php第142行注意:Undefined index:file in第143行的C:\MAMP\htdocs\php-login-script-level-1\objects\user.php无效文件…这是我得到的错误消息@RenéBeneš
$targetfolder = "testupload/";

 $targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;

 $ok=1;

$file_type=$_FILES['file']['type'];

if ($file_type=="application/pdf" || $file_type=="image/gif" || $file_type=="image/jpeg") {

 if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder))

 {

 echo "The file ". basename( $_FILES['file']['name']). " is uploaded";

 }

 else {

 echo "Problem uploading file";

 }

}

else {

 echo "You may only upload PDFs, JPEGs or GIF files.<br>";

}