1

数週間ネットを検索していますが、問題の解決策が見つかりません。

Flex(front-end)と を使用して Web アプリケーションに取り組んでいますPHP/MySql(Back-end)

今、ユーザーが自分のプロフィール写真の画像をアップロードできるようにしたいと考えています...サーバー上のディレクトリにアップロードしていました。現在、上司は、画像のリンクだけでなくコンテンツ全体をデータベースに直接保存する必要があると「感じています」。

みんな助けてください....私は立ち往生しています!!!

4

2 に答える 2

0

一般に、イメージをファイルシステムに保存するのが最善です (速度とサイズの点で)。このために、「images/profiles/{userID}.jpg」などの場所に画像を保存できます。画像をデータベースに保存したい場合は、列の種類を に設定してblob、そこに画像の内容を挿入します。mysql データベースへのイメージの保存について詳しく説明している優れた記事は、こちらで説明されています。

于 2012-11-20T15:05:57.217 に答える
0

まず、ファイルをアップロードするフォームで、次のタグを使用する必要があります。

enctype="multipart/form-data" 

また、そのフィールドを次のいずれかとして指定する必要があります。

TINYBLOB 、 BLOB 、 MEDIUMBLOB 、 LONGBLOB

最後に、データベースのこのコードを変更すると、それが実行されます:)

<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
   $fileName = $_FILES['userfile']['name'];
   $tmpName  = $_FILES['userfile']['tmp_name'];
   $fileSize = $_FILES['userfile']['size'];
   $fileType = $_FILES['userfile']['type'];

   $fp      = fopen($tmpName, 'r');
   $content = fread($fp, filesize($tmpName));
   $content = addslashes($content);
   fclose($fp);

if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
}

$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

mysql_query($query) or die('Error, query failed'); 

} 

?>

于 2012-11-20T15:07:14.967 に答える