ユーザーから画像を取得する
http://php.net/manual/en/reserved.variablesを参照してください。 files.php
および$_FILES
の使用方法のデータについては アップロードされたものを受け取るため。
画像を変数に入れたら、$jpg
と言います。 、テキストのエンコード/デコード機能は使用しないでください。それは物事を壊すだけです。以下のさまざまなアプローチでは、8ビットコードのトリップを回避するために何をすべきかを説明します。
画像を表示する方法は3つあり、それぞれがやや複雑です
画像をデータベースに保存します。画像をインラインで表示
私はサムネイルにこのアプローチを使用しましたが、大きな画像にはお勧めしません。
MEDIUMBLOB
に保存します テーブルでは、bin2hex()
を使用します PHPで画像を文字列に変換します。次に、INSERT ... VALUES (UNHEX('...'))
を使用します MySQLサーバー側でバイナリに切り替えます。
リロード後、参照元のPHPに次のように言わせます
$b64 = base64_encode($blob);
echo "<img src='data:image/jpeg;base64,$b64'/>";
画像をデータベースに保存します。画像を生成するためのPHPスクリプト
これは、PHPの「image *」関数を使用して、表示する前に画像を変更する場合に使用します。これはおそらく必要以上に複雑なので、必要なことだけをざっと見ていきます。
ページのhtmlは、必要な引数を使用して別のスクリプトを呼び出します。
<img src=modify.php?this=stuff&that=stuff>
次に、modify.php
で 、から始める
header('Content-type: image/jpeg');
そしてこれで終わります(JPEGを構築していると仮定します):
imagejpeg($im);
画像をファイルに保存する
これは、ほとんどの大規模なWebサイトがほとんどの場合それを行うための好ましい方法です。
ファイルがアップロードからのものである場合、このようなものは、jpgに触れることなくファイルをより良いパスに移動します。
$tmpfile = $_FILES['userfile']['tmp_name'];
move_uploaded_file($tmpfile, $uploadfile);
詳細と例: http://php.net/manual/ en / function.move-uploaded-file.php
HTMLで、次のようなものを生成するだけです:
<img src=path/to/file>
サーバーのパスのどこに画像を配置できるかを調査し、権限が適切であることを確認してください。
注:データベースは画像の保持には関与しませんが、代わりにURL "path/to/file"
を保持するための列があります。 :
image VARCHAR(255) NOT NULL
詳細については
- 3つのテクニックのうち、深く掘り下げたいのはどれですか?
- 生成しているHTMLを見てみましょう。
-
SHOW CREATE TABLE
を見てみましょう 。