首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图片上传PHP代码错误

图片上传PHP代码错误
EN

Stack Overflow用户
提问于 2017-07-14 04:50:37
回答 1查看 176关注 0票数 0

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

我找不到错误?

代码语言:javascript
复制
<?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行:

代码语言:javascript
复制
      echo "" . $check[""] . "";

再一次..。我自己找不到错误,所以如果有人能帮助我理解我在这里做错了什么,我将不胜感激。

注意:该表单工作正常,并成功上传了图像。但我还是得到了错误。

EN

回答 1

Stack Overflow用户

发布于 2017-07-14 05:51:12

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

下面是代码

超文本标记语言index.html

代码语言:javascript
复制
<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

代码语言:javascript
复制
<?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";
}
}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45090662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档