图片上传PHP代码错误

时间:2017-07-13 20:50:37

标签: php forms file-upload image-uploading

我的错误日志一直在我的图片上传表单的PHP代码中显示错误。

我无法发现错误????

<?php
$target_dir    = "postingImages/";
$target_file   = $target_dir . basename($_FILES["postingImage"]["name"]);
$uploadOk      = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
if (isset($_POST["submit"])) {
$check = getimagesize($_FILES["postingImage"]["tmp_name"]);
if ($check !== false) {
    echo "" . $check[""] . "";
    $uploadOk = 1;
} else {
    echo "  &#xd7; FILE IS NOT AN IMAGE";
    $uploadOk = 0;
}
}
if (file_exists($target_file)) {
echo "  &#xd7; THIS IMAGE ALREADY EXIST ON SERVER";
$uploadOk = 0;
}
if ($_FILES["postingImage"]["size"] > 500000) {
echo "  &#xd7; FILE IS TOO LARGE";
$uploadOk = 0;
}
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
echo "  &#xd7; ONLY JPG, JPEG, PNG & GIF FILES ARE PERMITTED";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "  &#xd7; IMAGE WAS NOT UPLOADED";
} else {
if (move_uploaded_file($_FILES["postingImage"]["tmp_name"], $target_file)) {
    echo '<img class="fixed-ratio-resize" src="http://www.rebelplanetnews.com/postingImages/' . basename($_FILES["postingImage"]["name"]) . '">';
} else {
    echo "  &#xd7; IMAGE WAS NOT UPLOADED";
}
}
?>

错误一直出现在代码的第9行:

      echo "" . $check[""] . "";

再次......我无法自己发现错误,所以如果有人能帮我理解我在这里做错了什么,我会非常感激..

注意:表单可以正常工作并成功上传图像。但我仍然得到错误。

1 个答案:

答案 0 :(得分:0)

你的问题是数组$ check []的索引,你的值不能是空字符串,替换为$check[0]

这里是代码

HTML index.html

<form name="f1" action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="postingImage"><br>
<input type="submit" name="submit" value="Enviar">
</form>

PHP upload.php

<?php
$target_dir    = "postingImages/";
$target_file   = $target_dir . basename($_FILES["postingImage"]["name"]);
$uploadOk      = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
if (isset($_POST["submit"])) {
    $check = getimagesize($_FILES["postingImage"]["tmp_name"]);
    if ($check !== false) {
       echo "Image Size: ". $check[0] ."<br>";
       $uploadOk = 1;
    } else {
       echo "  &#xd7; FILE IS NOT AN IMAGE";
       $uploadOk = 0;
    }
}
if (file_exists($target_file)) {
    echo "  &#xd7; THIS IMAGE ALREADY EXIST ON SERVER";
    $uploadOk = 0;
}
if ($_FILES["postingImage"]["size"] > 500000) {
    echo "  &#xd7; FILE IS TOO LARGE";
    $uploadOk = 0;
}
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != 
"jpeg" && $imageFileType != "gif") {
     echo "  &#xd7; ONLY JPG, JPEG, PNG & GIF FILES ARE PERMITTED";
     $uploadOk = 0;
 }
if ($uploadOk == 0) {
    echo "  &#xd7; IMAGE WAS NOT UPLOADED";
} else {
if (move_uploaded_file($_FILES["postingImage"]["tmp_name"], $target_file)) {
    echo '<img class="fixed-ratio-resize" src="postingImages/' . 
    basename($_FILES["postingImage"]["name"]) . '">';
} else {
    echo "  &#xd7; IMAGE WAS NOT UPLOADED";
}
}
?>