сохранить дамп var в текстовый файл [закрыто]
у меня есть php-код для sql query
<?
$server = "127.0.0.1";
$username = "root";
$password = "1";
$link= connecttodb($server,$username,$password);
function connecttodb($server,$username,$password)
{
$rez=fopen("test.txt","ab");
if ($link=mysql_connect ("$server","$username","$password",TRUE))
{
fwrite($rez,"".$server." rn");
echo "Connected successfully to >> " .$server ;
$result = mysql_query('SHOW DATABASES');
echo "<br>";
while ($row = mysql_fetch_array($result))
{
var_dump ($row); }
}
}
ini_set('max_execution_time', 10);
return $link;
?>
этот код печатает мое имя базы данных в браузере как я могу сохранить имя базы данных в текстовый файл
Connected successfully to >> 127.0.0.1
array(2) { [0]=> string(18) "information_schema" ["Database"]=> string(18) "information_schema" } array(2) { [0]=> string(2) "db" ["Database"]=> string(2) "db" } array(2) { [0]=> string(5) "mysql" ["Database"]=> string(5) "mysql" } array(2) { [0]=> string(10) "phpmyadmin" ["Database"]=> string(10) "phpmyadmin" } array(2) { [0]=> string(4) "test" ["Database"]=> string(4) "test" }
4 ответов
вы можете использовать функции буферизации вывода для захвата вывода и записи его в файл.
ob_flush();
ob_start();
while ($row = mysql_fetch_assoc($result)) {
var_dump($row);
}
file_put_contents("dump.txt", ob_get_flush());
Не используйте var_dump для этого, используйте сериализацию так:
<?php
$fp = fopen('vardump.txt', 'w');
fwrite($fp, serialize($myobj));
fclose($fp);
?>
чтобы восстановить его, вы можете использовать unserialize($filecontents); прочитав его обратно из файла.
<?
$server = "127.0.0.1";
$username = "root";
$password = "1";
$link= connecttodb($server,$username,$password);
function connecttodb($server,$username,$password)
{
$rez=fopen("test.txt","ab");
if ($link=mysql_connect ("$server","$username","$password",TRUE))
{
fwrite($rez,"".$server." \r\n");
echo "Connected successfully to >> " .$server ;
$result = mysql_query('SHOW DATABASES');
echo "<br>";
while ($row = mysql_fetch_array($result))
{
fwrite($rez, $row['DatabaseName']); }
}
}
ini_set('max_execution_time', 10);
return $link;
?>
Это должно работать
$file = 'somefile.txt';
file_put_contents($file, $some_var);
вы можете сначала сериализовать переменную, чтобы сделать ее более читаемой.
но есть несколько других методов:http://php.net/manual/en/function.file-put-contents.php