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 フォルダーを考えています。