-2

私は現在問題に直面しています。イメージを mysql データベースにアップロードする方法がわかりません。その後、データベースから取得して表示する必要があります。

実際には、カートに追加するボタンを含むオンライン カタログを作成する必要があるためです。しかし、オンライン カタログに表示される画像については、ハード コーディングを使用できません。管理ページに新製品があるたびに、オンライン カタログを頻繁に更新できるようにしたいと考えています。

画像ではなくテキストに対してのみ実行できます。

if (isset($_POST['submit'])){
    $name = $_POST['name'];
    $add = mysql_query("INSERT INTO maritime_products(name) VALUES('$name')") or die("gg2");

    }

$showname = mysql_query("SELECT * FROM maritime_products");
while($anything = mysql_fetch_array($showname)){
    echo $anything['name'];
}
4

2 に答える 2

5

データベースに画像を保存する必要はありません。画像へのパスをデータベースに保存し、画像自体をファイル システムに保存してください。ありがとうございました!

于 2013-07-18T08:51:01.043 に答える
0

Serge Velikanov がすでに言ったように、ウェブサイトをホストしているサーバーに画像を保存し、画像の URL のみをデータベースに保存してください。理由: 画像のサイズを変更した場合は、FTP に再度アップロードするだけで完了します。データベースに再度保存する必要はありません。しかし、まだそれを行う予定がある場合は、BLOBOLE Objectを検討してください。

ここで見つけることができる長所と短所(私が書いたものではありません):

私の経験では、大きな画像やその他のバイナリ オブジェクトを SQL Server にアップロードすると、パフォーマンスが低下し、完全に信頼できるとは言えません。SQL Server チームは、何年にもわたって (varbinary(max) などで) 少し改善してきましたが、パフォーマンスはあまり改善していません。これを行う場合は、画像全体を一度にアップロードするのではなく、チャンクすることをお勧めします。また、SQL Server 2008 には、エンジンが BLOB データをファイル システムにストリーミングできるようにする実行可能な新しいオプション (サービス) があります。このサービスはまだ実装していませんが、シャドウ コピー サービスと連携して動作し、ファイルをファイル システムにストリーミングすると思います。バックアップがどのように機能するかは明確ではありませんが、ポインターがそこのテーブルに格納されるためです。これは、テーブル内の他のデータと共にファイルをバックアップすることをエンジンが認識している可能性が高いためです。MSDN または SQL Server サイトで確認してください。(ブライアン・カスター)

また、重複しますか?

https://stackoverflow.com/questions/805519/save-image-in-database

イメージをデータベースまたはシステム ファイルに保存しますか?

于 2013-07-18T08:52:24.990 に答える