save var_dump into text file [closed]
Asked Answered
P

4

38

I have the php code for 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." \r\n");
	    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;
?>

this code print my database name on the browser how I can save the database name into text file

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" }
Peaslee answered 12/8, 2016 at 23:15 Comment(4)
If you initiate a connection to the db then you MUST know the name of the dbCellulitis
Please dont use the mysql_ database extension, it is deprecated (gone for ever in PHP7) Specially if you are just learning PHP, spend your energies learning the PDO database extensions. Start here its really pretty easyCordilleras
@RamRaider if you look at OP's code, he is initializing a connection to the server without specifying the schema. He is attempting to list all databases on the server that he as access to.Ginn
As @Cordilleras said learn PDO, however the manual might seem a bit overwhelming so you could this, it is extremely good and will have up and running in no time.Transvestite
D
65

You can use the output buffering functions to capture output and write it to a file.

ob_flush();
ob_start();
while ($row = mysql_fetch_assoc($result)) {
    var_dump($row);
}
file_put_contents("dump.txt", ob_get_flush());
Distraint answered 12/8, 2016 at 23:25 Comment(8)
var_dump is meant for debugging by humans, it's not meant to be parsed by programs.Distraint
please look here #38928640Peaslee
serialize($myobj) as suggested by @Matth3w is a better solutionHarcourt
The code in the question uses var_dump(). The question was about how to get the output into a file, not the format of the file.Distraint
$str = print_r($row, true); when true it returns a string, same with var_dumpPolack
@Polack That only works for print_r, not var_dump.Distraint
@Polack ty so much betterSaxhorn
Better solution file_put_contents('var_dump.txt',var_export($array, true));Audacious
G
26

Don't use var_dump for this, use serialize like so:

<?php
$fp = fopen('vardump.txt', 'w');
fwrite($fp, serialize($myobj));
fclose($fp);
?>

To restore it, you can use unserialize($filecontents); by reading it back in from the file.

Ginn answered 12/8, 2016 at 23:25 Comment(1)
Simple, excellent idea. There is also print_r() to create a string from any variable which may be easier to read than serialized data.Kinslow
G
0
<?
$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;
    ?>
Ginn answered 12/8, 2016 at 23:29 Comment(0)
D
-3

This should work

$file = 'somefile.txt';
file_put_contents($file, $some_var);

You may want to serialize the variable first to make it more readable.

But there are several other methods: http://php.net/manual/en/function.file-put-contents.php

Duologue answered 12/8, 2016 at 23:19 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.