ホームページ > バックエンド開発 > PHPチュートリアル > アップロードした写真を変更しますか?解決

アップロードした写真を変更しますか?解決

WBOY
リリース: 2016-06-13 13:40:50
オリジナル
933 人が閲覧しました

アップロードした写真を変更しますか?

画像アドレスを選択:


画像はアップロードできますが、画像はバイナリ形式でデータベースに保存されるため、変更が問題になりますstream blob なので、このアドレスの読み方がわかりません。アドレスは変更せずにイメージ名を変更すると、データベース内のイメージ アドレスは変更されません

------解決策-- ------------------
画像をバイナリに変換

$img_file = 'xxx.jpg';
$fp = fopen ($img_file, 'rb');
$content = fread($fp, filesize($img_file)) //バイナリデータ
fclose($fp);



クエリ表示:
header("content-type:image/jpeg");
list($st1,$st2)=explode(" ",microtime() );
$startTime=$st1+$st2;
//$picContent=file_get_contents("1.jpg");
$lnk=mysql_connect("localhost","root","123456") ;
mysql_select_db("test");
//$picContents=base64_encode($picContent);
//$re=mysql_query("写真の値に挿入(NULL,'$picContents')") ;
$re=mysql_query("select * from pic");
!$re && die("クエリが失敗しました!~");
$rs=mysql_fetch_array($re);
mysql_close ($ lnk);
echobase64_decode($rs['pic']);
list($st1,$st2)=explode(" ",microtime());
$time2=$st1+ $st2 ;
echo 'execution time'.($time2-$startTime);
?>


推奨事項: データベースに追加する前にバイナリ データを Base64 エンコードします。それ以外の場合は、バイナリ データを Base64 でエンコードしてください。一部の特殊なシンボルにより、挿入が失敗します。
------解決策---------
アップロード処理:

< ; ?php
//アップロードされた画像は一時ファイルに保存されるため、
//ファイルを読み取って渡された画像を取得するだけで済みます
$fp = fopen($ _FILES["myFile"] ["tmp_name"],"rb");
$buf =addslashes(fread($fp,$_FILES["myFile"]["size"]));
// PDO オブジェクトを作成します
$dbh = new PDO("mysql:host=localhost;port=
3306;dbname=myDatabase", "root", "verysecret");
//挿入操作を実行し、結果をファイルに保存します。 variable
$result = $dbh->query("INSERT INTO 従業員
(firstName,lastName,EmpType,age,picture) VALUES
('myFirst','myLast' ,'myEmpType',50 ,'$buf')");
//影響を受ける行の数を取得します
if ($result->rowCount() >0) {
echo("data Inserted. ");
} else {
echo("挿入操作を実行できません。");
}
//PDO 接続を明示的に閉じます
$dbh = NULL;
?>

------解決策----------------------
データベースがある場合は、と同じことをしてください。テキストを変更します...
それを文字列として考えてください。
------解決策---------
header("content-type:image/jpeg " ); これを出力の前に追加します。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート