insert.php
データベースに保存するために、フォームの値をファイルに取得する必要があります。ただし、フォームの要素の 1 つは、JPG またはその他のファイル形式で画像ファイルをアップロードするためのファイル選択ダイアログです。
投稿リクエストを介して画像を送信するためにこのコードをオンラインで見つけましたが、正しく機能させることができません
$pic=($_FILES['photo'][image']);
実際のファイル自体ではなく、ファイルの名前のみが表示されます
insert.php
データベースに保存するために、フォームの値をファイルに取得する必要があります。ただし、フォームの要素の 1 つは、JPG またはその他のファイル形式で画像ファイルをアップロードするためのファイル選択ダイアログです。
投稿リクエストを介して画像を送信するためにこのコードをオンラインで見つけましたが、正しく機能させることができません
$pic=($_FILES['photo'][image']);
実際のファイル自体ではなく、ファイルの名前のみが表示されます
まず、enctype
属性を HTML フォームに追加する必要があります。このような:
<form action="page.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<input type="file" name="photo" id="photo" />
<input type="submit" value="Upload" />
</form>
次に、これが次のページで送信されるときに、$_FILES
配列の代わりにグローバル配列$_POST
を使用して画像を取得します。
<?php
move_uploaded_file( $_FILES['photo']['tmp_name'], "/var/www/image.jpg" );
echo("<img src='image.jpg'");
?>
すべてのテキスト データは を使用して送信され$_POST
ますが、ファイルは を使用して転送されます$_FILES
。
編集:このアップロードされたデータをテーブルにさらに挿入したい場合(ただし、これは決して推奨されず、パフォーマンスが大幅に低下します)
$image = file_get_contents( "/var/www/image.jpg" );
$image = addslashes( $image );
...
$sql = "INSERT INTO pictures(image) VALUES('" . $image . "')";
//remaining MySQL and PHP code
注:ここでは、Linux マシンで/var/www
デフォルトのlocalhostとして構成されている Web フォルダーを考えています。