画像をデータベースに保存するのは賢明な考えではありません。ほとんどの人は画像をサーバーに保存し、画像アドレスをデータベースに保存します。この方法では、表示するたびに画像アドレスを読み取るだけで済みます。ただし、mysql データベースに保存する場合の解決策を以下に示します。
コードは次のとおりです | コードをコピー |
「class/db.php」が必要; $img = fread($fp, ファイルサイズ($ファイル名)); $db->execute("db2.testimg (`img`) 値を挿入 ('$img') ;"); |
エラーを報告する
SQL 構文にエラーがあります。「`?绶q?仳!??? ?1丶> ,Mo?」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。 ?T春??????U?湹? 1行目
コードは次のとおりです | コードをコピー |
$img = fread($fp, ファイルサイズ($ファイル名)); |
引き続きエラーを報告してください
さまざまな検索、Baidu の結果はすべて addslashes であるか、addslashes さえ利用できません。なんてナンセンス
base64_デコード
$img = Base64_encode($img);
挿入に成功しました。画像ファイル 17.0k
出てきてbase64_decodeを実行すると、表示は正常です
16進法を見つける
$img = bin2hex($img);
実際には、出力を復号化する必要はありません。保存されるデータベースのサイズは 25K です。これは、base64 よりもさらに欺瞞的です。
もう一度探してください。
後で、後で。 phpmyadmin によって直接アップロードされた画像ファイルは、base64 よりも小さい可能性があることがわかりました。ファイル 12.8k
phpmyadminのソースコードをひっくり返す
Common.lib.php ファイル 183 には魔法の機能があります
コードは次のとおりです | コードをコピー |
関数 PMA_sqlAddslashes($a_string = '', $is_like = false, $crlf = false, $php_code = false) |
ファイルサイズは12.8Kで、phpmyadminと同じサイズです。
例
フロントデスク (image.html):
コードは次のとおりです | コードをコピー |
|