0

以下のコードを含む小さなフォームが 1 ページにあり、

<div class="postcomment">
<form id="comments" action="insertcomment.php" method="POST" enctype="multipart/form-data">
Comment: <input type="text" name="comment" id="commentfield">
<input type="submit" name="submit" value="Post comment" class="button">
<br>
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
Image: <input type="file" name="image" />
<br>
</div>

ユーザーが画像を参照して追加すると、フォームは以下のinsertcomment.phpコードに移動します

$target_path = "images/";

$file_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $file_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}

何らかの理由でエラーが表示され、画像ディレクトリに表示されない場合、エラーは次のとおりです。解析エラー:構文エラー、18行目の/homepages/21/d417005970/htdocs/rk8479/htdocs/insertcomment.phpの予期しないT_IF

4

1 に答える 1

1

このHTMLを試してください

<div class="postcomment">
<form id="comments" action="insertcomment.php" method="POST" enctype="multipart/form-data">
Comment: <input type="text" name="comment" id="commentfield">
<br>
Image: <input type="file" name="image" />
<br>
<input type="submit" name="submit" value="Post comment" class="button">
</form>
</div>

PHP コード (if(isset($_POST['submit'])) を確認できる同じページで使用しようとしています)

if($_FILES['image']['size'] > 0){
        $allowedExts = array("jpg", "jpeg", "gif", "png");
        $extension = end(explode(".", $_FILES["image"]["name"]));
        if ((($_FILES["image"]["type"] == "image/gif")
        || ($_FILES["image"]["type"] == "image/jpeg")
        || ($_FILES["new_image"]["type"] == "image/png")
        || ($_FILES["image"]["type"] == "image/pjpeg"))
        && ($_FILES["image"]["size"] < 1048576)
        && in_array($extension, $allowedExts))
          {
          if ($_FILES["image"]["error"] > 0)
            {
            $error_message = $_FILES["image"]["error"];
            }
          else
            {

            if (file_exists("images/" . $_FILES["image"]["name"]))
              {
              $error_message = $_FILES["image"]["name"] . " " . $LANG['image_exist'];
              }
            else
              {
              if(move_uploaded_file($_FILES["image"]["tmp_name"],
              "images/" . $_FILES["image"]["name"])) {  
              // success
              $image_name = $_FILES["image"]["name"];
              } else {
              $error_message = "Upload Failed!";
              }
              }
            }
          }
        else
          {
          $error_message = "Error: May be different ext or size";
          }
    }
于 2012-11-24T01:53:13.633 に答える