У меня есть резервные данные из БД. который выглядит следующим образом:Создать исходный файл из текста
CREATE TABLE `accFiles` (
`accfile_id` int(11) NOT NULL AUTO_INCREMENT,
`accfile_accountId` smallint(5) unsigned NOT NULL,
`accfile_name` varchar(100) NOT NULL,
`accfile_type` varchar(100) NOT NULL,
`accfile_size` int(11) NOT NULL,
`accfile_content` mediumblob NOT NULL,
`accfile_extension` varchar(10) NOT NULL,
PRIMARY KEY (`accfile_id`),
KEY `IDX_accountId` (`accfile_accountId`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `accFiles` VALUES(1,6,"test.txt","text/plain",27,"test\ntest\ntest\ntest\ntsert","TXT");
INSERT INTO `accFiles` VALUES(2,6,"test.txt","text/plain",27,"test\ntest\ntest\ntest\ntsert","TXT");
CREATE TABLE.....
Теперь я написал скрипт PHP, который получает часть контента и записывает его в файл с таким же именем, как это предусмотрено значением 3. Php записывается так, чтобы первая строка получила имя и содержимое и создала файл с таким именем и записывала в него содержимое.
<?php
//error_reporting(0);
$file = $argv[1]; //read console parameter
$filep = file_get_contents($file);//get content
$s1="INSERT INTO `accFiles`"; //Search the accfile part
$pos=strpos($filep,$s1); //first File
$end=strrpos($filep,$s1); //last file
$ind=0;
do{ // walk through file by file
$pos2=strpos($filep,$s1,$pos + 5);
$whant[$ind]=substr($filep,$pos+29,$pos2-$pos-30);
$ind++;
$pos=$pos2;
}while(is_numeric($pos2) && $end>=$pos2);
$whant[$ind-1]=substr($filep,$end+29,strpos($filep,"CREATE TABLE",$end)-$end-32); // last file
//echo $whant[0]."\n";
//echo $whant[1]."\n";
$theidd = explode(",",$whant[0]);
$filename = trim($theidd[2],"\"");
$input = substr($whant[0],strpos($whant[0],$theidd[5])+1,strrpos($whant[0],",")-strpos($whant[0],$theidd[5])-2); //get content of file 1
$myfile = fopen(dirname(__FILE__)."/".$filename, "w",1);
fwrite($myfile, $input);
fclose($myfile);
?>
Так я думаю, что проблема в том, что он записывает данные так же, как это в новом текстовом файле, так что содержание теста \ NTest \ п Insted реальных новых линий. Забавная часть, когда у меня есть .jpg файлы или .gif, они хранятся точно так же, как контент был длинным, я бы разместил его здесь. Но я хочу, чтобы иметь возможность получить исходное изображение или то, что когда-либо файл, он вернулся.
извините, но я могу работать только с файлом PHP и у backupFile у меня есть база данных. – GEnGEr