【问题标题】:Pdf or doc or docx file upload using php [duplicate]使用 php 上传 Pdf 或 doc 或 docx 文件 [重复]
【发布时间】:2015-09-03 09:43:29
【问题描述】:

您好,我在网上找到了用于上传 pdf 文件的编码。但我需要它来上传 doc 和 docx 文件以及重命名文件。以下是代码。

<?php
    $pdfPath = "docmument_upload/";
    $maxSize = 102400000000;
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['upload_pdf'])) {   
        if (is_uploaded_file($_FILES['filepdf']['tmp_name'])) {
            if ($_FILES['filepdf']['type'] != "application/pdf") {
                echo '<p>This is not Docuent or pdf File</p>';
            } else if ($_FILES['filepdf']['size'] > $maxSize) {
                echo '<p class="error">To large file: ' . $maxSize . 'KB</p>';
            } else {
                $menuName = 'file.doc';
                $result = move_uploaded_file($_FILES['filepdf']['tmp_name'], $pdfPath . $menuName);
                if ($result == 1) {
                    echo '<p class="error">Uploaded</p>';
                } else {
                    echo '<p class="error">Uploading fail</p>';
                }
            }
        }
    }
?>

我该怎么做??

【问题讨论】:

标签: php pdf file-upload doc


【解决方案1】:

检查 http://www.freeformatter.com/mime-types-list.html 上的 mime 类型并修改行:

if ($_FILES['filepdf']['type'] != "application/pdf") {

到:

if ($_FILES['filepdf']['type'] != "application/pdf" OR $_FILES['filepdf']['type'] != "typename2" OR $_FILES['filepdf']['type'] != "typename3) {

其中 typename 是您选择的 mimetype,例如。 .doc 扩展名的“应用程序/msword”。

【讨论】:

  • 只是几件事。 1)我个人建议使用||而不是 OR。混合 ||、OR、&& 和 AND 可能会导致奇怪的问题。 2) !in_array() 会更干净。 3) 我认为你的逻辑有缺陷。
  • 对于 .doc id "application/msword" 。而对于 .docx??
  • if ($_FILES['filepdf']['type'] != "application/pdf" OR $_FILES['filepdf']['type'] != "application/msword" OR $_FILES['filepdf']['type'] != "application/vnd.openxmlformats-officedocument.wordprocessingml.document"){ 也不起作用。
  • 尝试上传 .docx 文件并使用 echo '
    ' 开始代码; var_dump($_FILES);并检查屏幕上的 MIME 类型
猜你喜欢
  • 1970-01-01
  • 2012-07-21
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 2011-07-25
  • 2023-03-24
  • 2016-07-10
相关资源
最近更新 更多