0

そのため、ローカルホストでphpを介してフォームから画像のアップロードを設定しようとしています.コードを実行してデータベースに接続すると、アップロードのエラーが発生します. セクションごとのチェックの後、フォームの他のすべての部分が機能しているので、アップロード入力用の html とそれに関連する php スクリプトを追加します。

<input type="file" name="image" id="image-select" />

そして、画像のアップロードとアップロード後の検証を処理する必要がある php の部分:

$image = $_FILES ['image']['name'];
$type = @getimagesize ($_FILES ['image']['tmp_name']);

//Never assume image will upload okay
if ($_FILES['image']['error'] !== UPLOAD_ERR_OK) {
    die("Upload failed with error code " . $_FILES['image']['error']);
}

//Where the file will be placed
$target_path = "uploads/";

// Add the original filename to target path
$path= $target_path . basename($image);

// Check if the image is invalid before continuing
 if($type === FALSE || !($type[2] === IMAGETYPE_TIFF || $type[2] === IMAGETYPE_JPEG || $type[2] === IMAGETYPE_PNG)) {
    echo '<script "text/javascript">alert("This is not a valid image file!")</script>';
    die("This is not a valid image file!");
 } else {
        move_uploaded_file($_FILES['image']['tmp_name'], $path);
 }

そのため、コードがアップロード プロセスに到達するとエラーが表示されます。小さな PNG ファイルをアップロードしようとしました。追加した関連コードも、スクリプトに表示されるときにそれぞれの順序で表示されます。

4

3 に答える 3

0

フォームタグを提供していないのに、enctype 属性を覚えているので、ここで暗闇の中で突っ込むだけですよね?

申し訳ありませんが、私は50の評判を持っていません。それ以外の場合は、これをコメントとしてお願いします.

<form enctype='multipart/form-data' action=''>
<input type="file" name="image" id="image-select" />
</form>

また、getimagesize() を呼び出す前に、ファイルが正常にアップロードされたかどうかを確認する必要があります (これが問題の原因であるとは限りません)。

于 2013-07-25T15:52:21.427 に答える
0

PHP5Imagickを使用している場合は、次のようなものを試すことができます。

$image->readImageFile($f);
于 2013-07-25T15:53:29.300 に答える