我有一个mysql blob字段,我们的团队在其中为每条记录存储了一个图像。现在我想通过php脚本下载硬盘上的所有图像。我们将非常感谢您的快速反应。
最诚挚的问候......
阿伊莎
答案 0 :(得分:1)
$result=mysql_query("SELECT * FROM test WHERE 1");
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$filename = rand(1, 100).'.txt';
file_put_contents('./'.$filename, $row['blob']);
}
这是有效的(测试过的) 它将以随机文件名(1-100.txt)保存文件 您可以通过更改$ filename来更改文件名。
这是一个简单的示例MySQL表,包含2个包含内容测试#1和测试#2的演示文件:
CREATE TABLE IF NOT EXISTS `test` (`blob` blob NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `test` (`blob`) VALUES(0x5468697320697320746573742023312e), (0x5468697320697320546573742023322e);
答案 1 :(得分:0)
答案 2 :(得分:0)
你也可以尝试这个........
function save_file($file_id, $target_folder) {
$result = $DB->get_file($file_id);
$file_content = $result->fields['your_file_content_field'];
$name = $result->fields['name'];
/* Decode only if the file contents base64 encoded
* before inserting to database.
*/
$file_content = base64_decode($file_content);
return file_put_contents($target_folder.'/'.$name, $file_content);
}