PHP - Imagick致命错误,无解释

时间:2017-08-08 11:54:46

标签: php

所以,我正在尝试将pdf文件转换为jpeg文件,但是当我用readImage读取pdf文件时($ _ FILES [" fileinput"] [" tmp_name"] )给出致命错误。我通过html获取文件,你可以在下面看到。

HTML表格:

<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");
最后,魔鬼自己:

  

致命错误:在第49行的C:\ xampp \ htdocs \ mod \ includes \ connect.php

请帮助,我很快就死了。

1 个答案:

答案 0 :(得分:-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]元素,则将此行$_FILES['inputfile']['tmp_name'][0]替换为$im->readImage($_FILES['inputfile']['tmp_name'].'[0]');

如果[0]元素不存在,则使用$im->readImage($_FILES['inputfile']['tmp_name'];