0

私はあなたの助けが必要です...サーバーに画像をコピー/アップロードし、データベースにディレクトリを保存したい...問題は画像が空です=(私は使用しています:

  • ワンプサーバー
  • アパッチのバージョン: 2.2.22
  • PHP バージョン: 5.3.13
  • MySQL バージョン: 5.5.24

問題は、ファイルを作成しているが空であるということです.... WampServerの障害でしょうか?

コード:

<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<input name="image" id="image" multiple="true" type="file" />
<input name="name" id="name" type="text" maxlength="50" value="" placeholder="Enter Image Name" class="text-field"/>


if(isset($_POST['name']) && isset($_POST['image']))
    {
        $name = $_POST['name'];
        $img = $_POST['image'];

        $file_url = $img;
        $fp = fopen($file_url, 'rb');
        $content = fread($fp, filesize($file_url));
        $fp = fopen('../Images/UploadedImages/'.$img, 'wb');
        $image='../Images/UploadedImages/'.$img;

        $result=mysql_query("insert into Images(Name,Directory,Register_Day) 
        values ('$name','$image',now())");

        if (!$result) {
            die("Failed to load");}
        else{
            fputs($fp, $content);
            fclose($fp);
            }
4

2 に答える 2

1

画像のアップロードはそのようには機能しません。次のようにする必要があります。

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

また、画像をデータベースに保存したくないことに注意してください。(おそらく) 画像をサーバーに保存したいのですが、ファイルの場所だけをデータベースに保存します。

于 2013-05-05T19:24:22.913 に答える
0

を使用して画像をアップロードすることはできませんfopen。以下のコードを試してください。$_FILESではなく配列で画像の詳細を取得し$_POSTます。

$tmp_name = $_FILES['image']['tmp_name'];
$name = $_FILES['image']["name"];
$uploads_dir = '../Images/UploadedImages';
move_uploaded_file($tmp_name, "$uploads_dir/$name");

上記のコード$uploads_dir/$nameでは、db に保存できるイメージ パスになります。
また、<form>タグにenctype="multipart/form-data"属性が設定されていることも確認してください。

于 2013-05-05T19:38:04.540 に答える