1

私は本当にあなたの助けが欲しい. 私は中級の PHP プログラマーだと思っていますが、これまでファイルのアップロードを使用したことがありません。私は長い間この問題に悩まされてきました。これは私のコードの単純化されたバージョンであり、エラーがここのどこかにあると 99% 確信しています。出力は常に「ファイルは画像ファイルではありませんでした。」

これは私のHTMLです...

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" id ="partyPic"><br/>
<button  type="button" onClick="uploadFile()">upload</button>
</form>

これは私のPHPです...

$image = $_FILES['image']['tmp_name'];

if (!isset($image)){

  //Create default image.

}else{

$image =  mysql_real_escape_string(file_get_contents($_FILES['image']['tmp_name']));
$name = mysql_real_escape_string($_FILES['image']['name']);
$image_size = getimagesize($_FILES['image']['tmp_name']);
}

if($image_size == FALSE){
echo 'The file wasn\'t an image file.';
}else{
//I have code that successfully uploads stuff to my database.
}

お役に立てれば幸いです。

ありがとう、リック・ライアン

4

3 に答える 3

2

http://www.php.net/manual/en/features.file-upload.post-method.phpからのアップロードの例:

基本的なフォーム:

<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form> 

PHP:

<?php

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?> 

マニュアルの例。

したがって、次のような apon を構築する必要があります。

<form enctype="multipart/form-data" action="upload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form> 

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && $_FILES['userfile']['error'] == 'UPLOAD_ERR_OK'){
    $uploaddir = '/var/www/uploads/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    list($width, $height, $type, $attr) = getimagesize($_FILES['userfile']['tmp_name']);

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
        echo "File was successfully uploaded.\n";
        ... Do Database stuff
    }
}
?>
于 2012-04-17T02:33:18.177 に答える
0

これを試して:

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name ="image" id="partyPic"><br/>
<button  type="button" onClick="uploadFile()">upload</button>
</form>
于 2012-04-17T04:08:57.287 に答える
0

ファイル入力 ID はpartyPicです。を使用する必要があります$_FILES['partyPic']

于 2012-04-17T02:07:55.250 に答える