2017-08-08 125 views
0

所以,我試圖將pdf文件轉換成jpeg文件,但是當我閱讀PDF文件與readImage($ _ FILES [「fileinput」] [「tmp_name」])給出致命錯誤。我通過html獲取該文件,您可以在下面看到。PHP - Imagick致命錯誤,沒有解釋

HTML FORM:

<form enctype="multipart/form-data" class="generalForm" action="../includes/connect.php" method="POST"> 
      <label class="headLabel">DODAJ</label> 
      <br> 
      <br> 
      <input class="inputTextSub" id="naziv" name="naziv" type="text"> 
      <br> 
      <br> 
      <input class="inputTextSub" id="opis" name="opis" type="text"> 
      <br> 
      <br> 
      <input class="inputTextSub" id="datumz" name="datumz" type="date"> 
      <br> 
      <br> 
      <input type="file" name="inputfile" id="file" class="inputfile" /> 
      <br> 
      <br> 
      <br> 
      <input class="button" style="margin-top:2em;" name="save" type="submit" value=" shrani "> 
     </form> 

然後在這裏是在PHP代碼,我當用戶按下按鈕時執行。

if(isset($_POST['save'])){ 
    if(!$_POST['naziv']==""&&!$_POST['opis']==""&&!$_POST['datumz']=="" 
    &&!$_POST['datumk']==""&&isset($_POST['pr']) 
    &&isset($_POST['format'])&&$_FILES['inputfile']['size']>0){ 
     $naziv = $_POST['naziv']; 
     $opis = $_POST['opis']; 
     $datumz = $_POST['datumz']; 
     $datumk = $_POST['datumk']; 
     $pr = $_POST['pr']; 
     $format = $_POST['format']; 
     $modId = $_SESSION['mod_id']; 
     $file = file_get_contents($_FILES['inputfile']['tmp_name']); 


       $im = new Imagick(); 
/*THIS LINE*/ $im->readImage($_FILES['inputfile']['tmp_name'].'[0]'); 
       $im->writeImage("lala.jpg"); 

和finnaly的魔鬼:

Fatal error: in C:\xampp\htdocs\mod\includes\connect.php on line 49

請幫幫忙,即時通訊這個死亡。

+0

刪除'。 '[0]'''從$的IM> readImage($ _FILES ['inputfile'] ['tmp_name']。'[0]');' –

+0

我不明白你爲什麼要使用'$ _FILES ['inputfile'] ['tmp_name']。'[0]'' $ _FILES ['inputfile'] ['tmp_name'] [0]'? –

+0

如果我這樣做@ManpreetSingh說現在的錯誤是: 致命錯誤:未捕獲ImagickException:UnableToOpenBlob'C':沒有這樣的文件或目錄@錯誤/ blob.c/OpenBlob/2702在C:\ xampp \ htdocs \ mod \ includes \ connect.php:49 Stack trace:#0 C:\ xampp \ htdocs \ mod \ includes \ connect.php(49):Imagick-> readimage('C')#1 {main}拋出C: \ xampp \ htdocs \ mod \ includes \ connect.php第49行 –

回答

-1

它看起來像你使用錯誤的語法。

$_FILES['inputfile']['tmp_name'].'[0]'

我覺得你想要做這樣的事情$_FILES['inputfile']['tmp_name'][0]

如果還是它給你的錯誤,嘗試調試像這樣:

//$im = new Imagick(); 
//$im->readImage($_FILES['inputfile']['tmp_name'].'[0]'); 
//$im->writeImage("lala.jpg"); 
echo "<pre>"; 
print_r($_FILES['inputfile']['tmp_name']); 

,並檢查是否元素[0]存在或不。

[0]如果元素存在比$im->readImage($_FILES['inputfile']['tmp_name'].'[0]');

[0]如果元件替換此線$_FILES['inputfile']['tmp_name'][0]不存在比使用$im->readImage($_FILES['inputfile']['tmp_name'];