1

画像をディレクトリにダウンロードしようとしましたが、ファイルチューザを使用せずにBLOBタイプを使用して画像をデータベースに保存したいと思います。つまり、URLから直接画像を保存します。

言う:

http://someserver.com/images/imageone.gif

それをデータベースに直接保存するにはどうすればよいですか?データベースに保存する前に、最初にダウンロードする必要がありますか?私を助けてください..

4

2 に答える 2

4

他のデータを保存するのと同じように。

$imageContents = file_get_contents('http://someserver.com/images/imageone.gif');
$imageContentsEscaped = mysql_real_escape_string($imageContents, $link);
mysql_query("INSERT INTO table_name (imageData) VALUES ('$imageContentsEscaped')", $link);

画像データを保存する列がBLOBなどのバイナリタイプに設定されていることを確認してください。

于 2012-06-21T13:06:02.503 に答える
1
// download image to memory
$image = file_get_contents('http://example.com/my/image.jpg');

// open PDO connection
$db = ...;

// insert downloaded data to the DB
$sql = 'insert into my_table(filename, content) values (?,?)';
$stmt = $db->prepare($sql);
$stmt->bindParam(1, 'my/image.jpg');
$stmt->bindParam(2, $image, PDO::PARAM_LOB);
$stmt->execute();
于 2012-06-21T13:17:33.890 に答える