2017-03-07 30 views
-2

如果我不上傳圖片,提交表單時出現問題。 我有一個代碼,將圖片上傳到表單並將該圖片放入我的圖片文件夾中,然後我使用該圖片路徑以PDF形式顯示圖片。如何提交表單而不上傳圖片?

if (isset($_FILES['img'])){ 

    $uploaddir = '../images/'; 
    $img1 = $uploaddir . basename($_FILES['img']['name']); 

    if (is_uploaded_file($_FILES['img']['tmp_name'])) { 
     // move the file to the desired place 
     if (move_uploaded_file($_FILES['img']['tmp_name'], $img1)) { 
      echo "File is valid, and was successfully uploaded."; 
     } else { 
      echo "Possible file upload attack!"; 
     } 
    } 
} 

後來我設置了變量$img = $img1,它以PDF格式輸出上傳的圖片。

$pdf->Image($img,10,70,90); 

然而,如果不上傳圖片,我得到錯誤:

"Uncaught exception 'Exception' with message 'FPDF error: Unsupported image type"

我使用FPDF創建PDF文件。 在此先感謝您的幫助。附:如果你認爲我可以做的更好一些的代碼,我打開的建議,我只是一個初學者

回答

0

在PHP中,從全局變量$ _FILES你可以得到文件的詳細信息:

  • 不對tmp_name
  • 錯誤
  • 大小

你的情況,你可以使用:

// Check file size is greater than 0 
if ($_FILES['size'] > 0 && !empty($_FILES['name'])) { 
    // here process FPDF to create PDF file 
    // then show successful message 
    // any other validation can include in this block 
} 
else 
{ 
    // Show error message on your website 
} 

,但你也可以檢查文件類型更安全,無差錯技術

+0

好的,得到了​​第一部分,但如果我想只是將表單轉換爲PDF文件wi這張照片?如果有圖片,用PDF顯示,如果沒有,只需在PDF中留下空白區域? – grabnem

+0

@grabnem將img標籤替換爲未知標籤,然後使用FPDF創建PDF,如,hi標籤不會渲染爲圖像標籤,圖像將在PDF中消失 – Ananth

0

用此來檢查文件是否已經上傳

if (!file_exists($_FILES['img']['tmp_name']) || !is_uploaded_file($_FILES['img']['tmp_name'])) 
{ 
    echo 'No upload'; 
} 
0

您可以檢查上傳這樣的:

if($_FILES['img']['error'] == UPLOAD_ERR_NO_FILE) { // No file was uploaded. 
    // Do something 
} 

if($_FILES['img']['error'] == UPLOAD_ERR_OK) { // There is no error, the file uploaded with success. 
    // Do something 
}