0

ファイル入力フィールドを持つフォームがあります:

<tr align="left">
    <td>Image :</td>
    <td align="left">
        <input type="file" name="ImageFile" size="18">
    </td>
</tr>

次に、送信時にこの画像ファイルを処理します。

$image_tmpname = $_FILES['ImageFile']['name'];
$imgdir = "blogImages/";
$imgname = $imgdir.$image_tmpname;

$blogs = new Blogs();

move_uploaded_file($_FILES['ImageFile']['tmp_name'], $imgname);
    $insert = $blogs->insertBlog($heading, $article, $date, $imgname);

画像を保存したいディレクトリが呼び出さblogImagesれ、上記と同じディレクトリにあります。

上記で、insertBloginsertBlogクラス内で呼び出される関数を呼び出すと、次のようになります。Blogs'. Insert blog takes all the info and inputs the data to a mysql table. The code for

function insertBlog($heading, $article, $date, $imgname){
        $query = "INSERT INTO Blogs (BlogTitle, MainArticle, PostDate, Image) VALUES ('$heading', '$article', '$date', '$imgname')";        
        $oDatabase = new database;
        $connection = $oDatabase->Connect();
        if (!mysql_select_db($oDatabase->Name(), $connection))
            $oDatabase->ShowError("Blogs.insertBlog");

        if (!(@ mysql_query ($query, $connection)))
            $oDatabase->ShowError("Blogs.insertBlog");

        return (mysql_insert_id());
    }

ユーザーがフォームに入力すると、画像情報以外のすべての情報が MySQL テーブルに正しく保存されます。また、実際の画像はblogImagesフォルダに保存されません。blogImagesでは、このスクリプトでイメージをフォルダーにアップロードし、そのパスを mysql テーブルに保存するにはどうすればよいでしょうか。現時点では、画像をデータベースに保存せずblogImages/、MySQL テーブルの画像パス フィールドに値を入れるだけです。

4

1 に答える 1

1

multipart/form-data enctypeファイルを転送するには、HTML で指定する必要があります。

<form enctype="multipart/form-data" action="" method="POST">
于 2012-05-21T14:19:38.460 に答える