0

ユーザーがサーバーに画像をアップロードできるようにするスクリプトを作成しようとしています。スクリプトを実装しましたが、画像をアップロードしようとすると、スクリプトは実行されますが、サーバーに画像が表示されません。何か案は?

PHP:

<?php
require_once("connect.php");
ini_set('display_errors', 'on'); 
error_reporting(E_ALL);

echo __LINE__;

$allowedExtensions = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["image"]["name"]));
print_r($_FILES['image']);
echo $extension;

if((($_FILES["image"]["type"] == "image/gif") || ($_FILES["image"]["type"] == "image/jpeg") || ($_FILES["image"]["type"]=="image/pjpeg") || ($_FILES["image"]["type"] == "type/png")) && ($_FILES["image"]["size"] <= 102400) && in_array($extension, $allowedExtensions)) {

        echo __LINE__;
        if($_FILES["image"]["error"] > 0) {
                $fileUploadFail = true; 
        }
        else {
               chmod("uploadImages/", 0755);
               move_uploaded_file($_FILES["image"]["tmp_name"], "uploadImages/" . $_FILES["image"]["name"]);
        }

} else {
        $fileUploadFail = true;
        echo __LINE__;
}   
        $fileName = $_FILES["image"]["name"];
        chmod("uploadImages/", 0600);
        echo __LINE__;
        /*if($fileUploadFile) {
              header("Location: uploadArt.php");
        }
        else {
             $title = $_POST['title'];
             $description = $_POST['description'];
             mysql_query("INSERT INTO `Art`(`File Name`, `Description`, `uploadLocation`, `Index`) VALUES('$title', '$description', 'uploadImages/$fileName', '')");
              header("Location: viewArt.php");
        }*/
  ?>

私が受け取る出力:

6Array ( [name] => comps_tech.png [type] => image/png [tmp_name] => /tmp/phpgQKnMJ [error] => 0 [size] => 661 ) png2529

HTML:

<form id = "uploadDesigns"  enctype="multipart/form-data" name="Upload" method="post" action="fileUpload.php" >
<label for="title">Enter name of design:</label><input type = "text" id = "title" name = "title" size="50"><br /><br />
<label for="image">Upload image:<br />(max 100KB)</label> <input type = "file" id = "image" size = "51" name = "image"><br /><br />
<label for="description">Description:</label> <textarea id = "description" name = "description" rows = "4" cols = "20"></textarea><br /><br />
<button type="submit">Submit Art</button>
</form>

ありがとう!

4

3 に答える 3

3

あなたが持っている

input type = "file" id = "image" size = "51" name = "image"

しかし、参照している

$_FILES["file"]["type"] 

$_FILES の「ファイル」は、ファイル入力の名前を参照します。これは「ファイル」ではなく「画像」です


答えを完成させます(他の問題を修正してデバッグした後); 最後のエラーは

$_FILES["image"]["type"] == "image/png"

if ステートメントに追加する必要があります。

于 2012-07-26T06:12:07.380 に答える
0

Ur ファイルのディレクトリ構造は次のようになります。

1) test.php 2) uploadImages/ (このフォルダーは u で作成する必要があります)。

于 2012-07-26T06:28:48.343 に答える
0

への書き込み権限を与える必要がありますuploadImages

于 2012-07-26T06:00:23.897 に答える