Avatar billede bahn Nybegynder
27. november 2003 - 16:32 Der er 11 kommentarer og
1 løsning

backup med lidt hjælp fra phpmyadmin

Jeg har lånt ret kraftigt fra tbl_dump.php i phpmyadmin

jeg vil bare gerne bruge den lidt anderledes
den skal lave en fil på serveren hvor den ligger alle greate tables og alle inserts ind, men jeg kan ikke finde de variabler der har det rigtige indhold!  her er det jeg har smedet sammen:

<?php
$what = "data";
$asfile = "sendit";
$server = "1";
$lang = "da-iso-8859-1";
$db = "skovhave";

/* $Id: tbl_dump.php,v 1.64 2002/06/14 11:59:49 lem9 Exp $ */


/**
* Formats the INSERT statements depending on the target (screen/file) of the
* sql dump
*
* @param  string  the insert statement
*
* @global  string  the buffer containing formatted strings
*/
function PMA_myHandler($sql_insert)
{
    global $tmp_buffer;

    // Kanji encoding convert feature appended by Y.Kawada (2001/2/21)
    if (function_exists('PMA_kanji_str_conv')) {
        $sql_insert = PMA_kanji_str_conv($sql_insert, $GLOBALS['knjenc'], isset($GLOBALS['xkana']) ? $GLOBALS['xkana'] : '');

    }
    // Defines the end of line delimiter to use
    $eol_dlm = (isset($GLOBALS['extended_ins']) && ($GLOBALS['current_row'] < $GLOBALS['rows_cnt']))
            ? ','
            : ';';
    // Result has to be displayed on screen
    if (empty($GLOBALS['asfile'])) {
        echo htmlspecialchars($sql_insert . $eol_dlm . $GLOBALS['crlf']);

    }
    // Result has to be saved in a text file
    else if (!isset($GLOBALS['zip']) && !isset($GLOBALS['bzip']) && !isset($GLOBALS['gzip'])) {
        $res = $sql_insert . $eol_dlm . $GLOBALS['crlf'];
    }
    // Result will be saved in a *zipped file
    else {
        $tmp_buffer .= $sql_insert . $eol_dlm . $GLOBALS['crlf'];
    }
} // end of the 'PMA_myHandler()' function


/**
* Formats the INSERT statements depending on the target (screen/file) of the
* cvs export
*
* Revisions: 2001-05-07, Lem9: added $add_character
*            2001-07-12, loic1: $crlf should be used only if there is no EOL
*                              character defined by the user
*
* @param  string  the insert statement
*
* @global  string  the character to add at the end of lines
* @global  string  the buffer containing formatted strings
*/
function PMA_myCsvHandler($sql_insert)
{
    global $add_character;
    global $tmp_buffer;

    // Kanji encoding convert feature appended by Y.Kawada (2001/2/21)
    if (function_exists('PMA_kanji_str_conv')) {
        $sql_insert = PMA_kanji_str_conv($sql_insert, $GLOBALS['knjenc'], isset($GLOBALS['xkana']) ? $GLOBALS['xkana'] : '');
    }
    // Result has to be displayed on screen
    if (empty($GLOBALS['asfile'])) {
        $resc = htmlspecialchars($sql_insert) . $add_character;
    }
    // Result has to be saved in a text file
    else if (!isset($GLOBALS['zip']) && !isset($GLOBALS['bzip']) && !isset($GLOBALS['gzip'])) {
        $resd = $sql_insert . $add_character;
    }
    // Result will be saved in a *zipped file
    else {
        $tmp_buffer .= $sql_insert . $add_character;
    }
} // end of the 'PMA_myCsvHandler()' function



/**
* Get the variables sent or posted to this script and a core script
*/
require('./libraries/grab_globals.lib.php');
require('./libraries/common.lib.php');
require('./libraries/build_dump.lib.php');
require('./libraries/zip.lib.php');


/**
* Defines the url to return to in case of error in a sql statement
*/
$err_url = 'tbl_properties.php'
        . '?lang=' . $lang
        . '&amp;convcharset=' . $convcharset
        . '&amp;server=' . $server
        . '&amp;db=' . urlencode($db)
        . (isset($table) ? '&amp;table=' . urlencode($table) : '');

//over dette
/**
* Ensure zipped formats are associated with the download feature
*/
if (empty($asfile)
    && (!empty($zip) || !empty($gzip) || !empty($bzip))) {
    $asfile = 1;
}


/**
* Send headers depending on whether the user choosen to download a dump file
* or not
*/
// No download
if (empty($asfile)) {
    $backup_cfgServer = $cfg['Server'];
    include('./header.inc.php');
    $cfg['Server'] = $backup_cfgServer;
    unset($backup_cfgServer);
    echo '<div align="' . $cell_align_left . '">' . "\n";
    echo '    <pre>' . "\n";
} // end if

// Download
else {
    // Defines filename and extension, and also mime types
    // Her kan filnavnet ændres!!
    if (!isset($table)) {
        $filename = $db;
    } else {
        $filename = $table;
    }
 
        $ext      = 'sql';

} // end download


/**
* Builds the dump
*/
// Gets the number of tables if a dump of a database has been required
if (!isset($table)) {
    $tables    = PMA_mysql_list_tables($db);
    $num_tables = ($tables) ? @mysql_numrows($tables) : 0;
} else {
    $num_tables = 1;
    $single    = TRUE;
}

// No table -> error message
if ($num_tables == 0) {
    echo '# ' . $strNoTablesFound;
}
// At least one table -> do the work
else {
    // No csv or xml format -> add some comments at the top
    if ($what != 'csv' &&  $what != 'excel' && $what != 'xml') {
        $dump_buffer      .= '# phpMyAdmin MySQL-Dump' . $crlf
                          .  '# version ' . PMA_VERSION . $crlf
                          .  '# http://phpwizard.net/phpMyAdmin/' . $crlf
                          .  '# http://www.phpmyadmin.net/ (download page)' . $crlf
                          .  '#' . $crlf
                          .  '# ' . $strHost . ': ' . $cfg['Server']['host'];
        if (!empty($cfg['Server']['port'])) {
            $dump_buffer  .= ':' . $cfg['Server']['port'];
        }
        $formatted_db_name = (isset($use_backquotes))
                          ? PMA_backquote($db)
                          : '\'' . $db . '\'';
        $dump_buffer      .= $crlf
                          .  '# ' . $strGenTime . ': ' . PMA_localisedDate() . $crlf
                          .  '# ' . $strServerVersion . ': ' . substr(PMA_MYSQL_INT_VERSION, 0, 1) . '.' . substr(PMA_MYSQL_INT_VERSION, 1, 2) . '.' . substr(PMA_MYSQL_INT_VERSION, 3) . $crlf
                          .  '# ' . $strPHPVersion . ': ' . phpversion() . $crlf
                          .  '# ' . $strDatabase . ': ' . $formatted_db_name . $crlf;

        $i = 0;
        if (isset($table_select)) {
            $tmp_select = implode($table_select, '|');
            $tmp_select = '|' . $tmp_select . '|';
        }
        while ($i < $num_tables) {
            if (!isset($single)) {
                $table = PMA_mysql_tablename($tables, $i);
            }
            if (isset($tmp_select) && !strpos(' ' . $tmp_select, '|' . $table . '|')) {
                $i++;
            } else {
                $formatted_table_name = (isset($use_backquotes))
                                      ? PMA_backquote($table)
                                      : '\'' . $table . '\'';
                // If only datas, no need to displays table name
                if ($what != 'dataonly') {
                    $dump_buffer .= '# --------------------------------------------------------' . $crlf
                                .  $crlf . '#' . $crlf
                                .  '# ' . $strTableStructure . ' ' . $formatted_table_name . $crlf
                                .  '#' . $crlf . $crlf
                                .  PMA_getTableDef($db, $table, $crlf, $err_url) . ';' . $crlf;
                }
                if (function_exists('PMA_kanji_str_conv')) { // Y.Kawada
                    $dump_buffer = PMA_kanji_str_conv($dump_buffer, $knjenc, isset($xkana) ? $xkana : '');
                }
                // At least data
                if (($what == 'data') || ($what == 'dataonly')) {
                    $tcmt = $crlf . '#' . $crlf
                                .  '# ' . $strDumpingData . ' ' . $formatted_table_name . $crlf
                                .  '#' . $crlf .$crlf;
                    if (function_exists('PMA_kanji_str_conv')) { // Y.Kawada
                        $dump_buffer .= PMA_kanji_str_conv($tcmt, $knjenc, isset($xkana) ? $xkana : '');
                    } else {
                        $dump_buffer .= $tcmt;
                    }
                    $tmp_buffer  = '';
                    if (!isset($limit_from) || !isset($limit_to)) {
                        $limit_from = $limit_to = 0;
                    }
                    // loic1: display data if they aren't bufferized
                    if (!isset($zip) && !isset($bzip) && !isset($gzip)) {
                        $rese = $dump_buffer;
                      //  $dump_buffer = '';
                    }
                    PMA_getTableContent($db, $table, $limit_from, $limit_to, 'PMA_myHandler', $err_url);

                    $dump_buffer .= $tmp_buffer;
                } // end if
                $i++;
            } // end if-else
        } // end while

        // staybyte: don't remove, it makes easier to select & copy from
        // browser
        $dump_buffer .= $crlf;
    } // end 'no csv or xml' case

} // end building the dump

/**
* "Displays" the dump...
*/

$tid = date("d-m-Y",time());
$filnavn = $tid.".".$ext;
$fp = fopen ("c:\apache\htdocs/backup/$filnavn", "a");
fwrite ($fp, $dump_buffer);
fclose($fp);
//der der står her er bare får at find ud af hvad der er ivariablerne!
echo $filnavn."<br>";
echo "res<br>".substr($res,0,1000)."<p><strong> ...</strong>".strlen($res)."</p>";
echo "rese<br>".substr($rese,0,1000)."<p><strong> ...</strong>".strlen($rese)."</p>";

/**
* Close the html tags and add the footers in dump is displayed on screen
*/
if (empty($asfile)) {
    echo '    </pre>' . "\n";
    echo '</div>' . "\n";
    echo "\n";
    include('./footer.inc.php');
} // end if
?>
Avatar billede danisher Nybegynder
27. november 2003 - 23:20 #1
Hvad er det du leder efter?
Avatar billede bahn Nybegynder
28. november 2003 - 12:16 #2
jeg leder efter nogle variabler med indholdet af databasen

jeg har fundet ud af at $dump_buffer indholder strukturen på databasen

men hvilken var. indholder data
Avatar billede googolplex Novice
28. november 2003 - 12:21 #3
Er ikke sikker på, hvad det er du vil, men jeg har et script der tager backup af db og ligger det i en fil, er det noget i den retning ?

Scriptet:

<?php
/*
Dette script generer en txt fil til download med et fuldstændigt dump af din database. Det er en modifikation af backup scriptet der følger med PHPnuke.

Hvordan bruger jeg det:
'''''''''''''''''''''''
Ret oplysningerne nedenfor. Lav en fil og kald den hvad du vil. Når du aktiverer filen, vil scriptet tage backup af din database - nemt ik ;o).
*/

//ret herunder
$dbhost = ""; // Angiv din host til MySQL?
$dbuname = ""; // Dit Brugernavn?
$dbpass = ""; // Dit Password?
$dbname = ""; // Angiv Database navn

//ret intet herunder

  @set_time_limit(600);
  $crlf = "\n";

  // Danish Text   
  $strNoTablesFound = "Ingen databasetabeller fundet";
  $strHost = "Host";
  $strDatabase = "Database ";
  $strTableStructure = "Struktur for tabel";
  $strDumpingData = "Indhold af tabel";
  $strError = "Fejl";
  $strSQLQuery = "SQL-query";
  $strMySQLSaid = "MySQL: ";
  $strBack = "Tilbage";
  $strFileName = "DB-dump";
  $strName = "Backup af database";
  $strDone = "Downloadet d.";
  $strat = "kl.";
  $date_jour = date("d-m-Y");       
       
  header("Content-disposition: filename=$strFileName $dbname $date_jour.sql");
  header("Content-type: application/ms-download");
  header("Pragma: no-cache");
  header("Expires: 0");
       
  // doing some DOS-CRLF magic...
  $client = getenv("HTTP_USER_AGENT");
  if (ereg('[^(]*\((.*)\)[^)]*', $client, $regs))
  {
    $os = $regs[1];
    // this looks better under WinX
    if (eregi("Win", $os))
      $crlf="\r\n";
  }
       
       
  function my_handler($sql_insert)
  {
    global $crlf;
    echo "$sql_insert;$crlf";
  }
       
  // Get the content of $table as a series of INSERT statements.
  // After every row, a custom callback function $handler gets called.
  // $handler must accept one parameter ($sql_insert);
  function get_table_content($db, $table, $handler)
  {
    $result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die();
    $i = 0;
    while($row = mysql_fetch_row($result))
    {
      $table_list = "(";
       
      for($j=0; $j < mysql_num_fields($result); $j++)
                    $table_list .= mysql_field_name($result, $j) . ", ";
       
      $table_list = substr($table_list, 0, -2);
      $table_list .= ")";
       
      if (isset($GLOBALS["showcolumns"]))
        $schema_insert = "INSERT INTO $table $table_list VALUES (";
      else
        $schema_insert = "INSERT INTO $table VALUES (";
       
      for ($j=0; $j<mysql_num_fields($result); $j++)
      {
        if (!isset($row[$j]))
          $schema_insert .= " NULL,";
        elseif ($row[$j] != "")
          $schema_insert .= " '" . addslashes($row[$j]) . "',";
        else
          $schema_insert .= " '',";
      }
      $schema_insert = ereg_replace(",$", "", $schema_insert);
      $schema_insert .= ")";
      $handler(trim($schema_insert));
      $i++;
    }
    return (true);
  }
       
  // Return $table's CREATE definition
  // Returns a string containing the CREATE statement on success
  function get_table_def($db, $table, $crlf)
  {
    $schema_create = "";
    $schema_create .= "DROP TABLE IF EXISTS $table; CREATE TABLE $table ($crlf";
       
    $result = mysql_db_query($db, "SHOW FIELDS FROM $table") or mysql_die();
    while($row = mysql_fetch_array($result))
    {
      $schema_create .= "  $row[Field] $row[Type]";
       
      if (isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0"))
        $schema_create .= " DEFAULT '$row[Default]'";
      if ($row["Null"] != "YES")
        $schema_create .= " NOT NULL";
      if ($row["Extra"] != "")
        $schema_create .= " $row[Extra]";
      $schema_create .= ",$crlf";
    }
    $schema_create = ereg_replace(",".$crlf."$", "", $schema_create);
    $result = mysql_db_query($db, "SHOW KEYS FROM $table") or mysql_die();
    while($row = mysql_fetch_array($result))
    {
      $kname = $row['Key_name'];
      if (($kname != "PRIMARY") && ($row['Non_unique'] == 0))
        $kname = "UNIQUE|$kname";
      if (!isset($index[$kname]))
        $index[$kname] = array();
      $index[$kname][] = $row['Column_name'];
    }
       
    while (list($x, $columns) = @each($index))
    {
      $schema_create .= ",$crlf";
      if ($x == "PRIMARY")
        $schema_create .= "  PRIMARY KEY (" . implode($columns, ", ") . ")";
      elseif (substr($x,0,6) == "UNIQUE")
        $schema_create .= "  UNIQUE ".substr($x, 7)." (" . implode($columns, ", ") . ")";
      else
        $schema_create .= "  KEY $x (" . implode($columns, ", ") . ")";
    }
       
    $schema_create .= "$crlf)";
    return (stripslashes($schema_create));
  }
       
  function mysql_die($error = "")
  {
    echo "<b> $strError </b><p>";
    if (isset($sql_query) && !empty($sql_query))
    {
      echo "$strSQLQuery: <pre>$sql_query</pre><p>";
    }
    if (empty($error))
      echo $strMySQLSaid . mysql_error();
    else
      echo $strMySQLSaid . $error;
    echo "<br /><a href=\"java script:history.go(-1)\">$strBack</a>";
    exit;
  }
       
  global $bruger, $dbhost, $dbuname, $dbpass, $dbname;
  mysql_connect($dbhost, $dbuname, $dbpass);
  @mysql_select_db("$dbname") or die ("Kunne ikke forbinde til databasen");
       
  $tables = mysql_list_tables($dbname);
       
  $num_tables = @mysql_numrows($tables);
  if ($num_tables == 0)
  {
    echo $strNoTablesFound;
  }
  else
  {
    $i = 0;
    $heure_jour = date ("H:i");
    print "# ========================================================$crlf";
    print "#$crlf";
    print "# $strName : $dbname$crlf";
    print "# $strDone $date_jour $strat $heure_jour $crlf";
    print "#$crlf";
    print "# ========================================================$crlf";
    print "$crlf";
           
    while ($i < $num_tables)
    {
      $table = mysql_tablename($tables, $i);
       
      print $crlf;
      print "# --------------------------------------------------------$crlf";
      print "#$crlf";
      print "# $strTableStructure '$table'$crlf";
      print "#$crlf";
      print $crlf;
       
      echo get_table_def($dbname, $table, $crlf) . ";$crlf$crlf";
               
      print "#$crlf";
      print "# $strDumpingData '$table'$crlf";
      print "#$crlf";
      print $crlf;
           
      get_table_content($dbname, $table, "my_handler");
       
      $i++;
    }
  }
       
?>
Avatar billede bahn Nybegynder
28. november 2003 - 12:43 #4
så vidt jeg kan se skriver scriptet indholdet ud på databasen på siden og der popper et download vindue op.

jeg skal bruge en string/variabel med indholdet af databasen så jeg kan bruge fopen til at ligge det ind i en fil!
Avatar billede Slettet bruger
28. november 2003 - 13:46 #5
Brug output buffering.
Avatar billede bahn Nybegynder
28. november 2003 - 13:56 #6
>SANDBOX

som i: $output .= osv  ??
Avatar billede Slettet bruger
28. november 2003 - 14:06 #7
Nej, som i ob_start(); før googolplex' kode og $output=ob_get_contents(); efter hans kode.

Hvis du ikke vil have koden vist på skærmen, skal du kalde ob_end_clean(); efter du har hentet indholdet.

Download-filvælgeren slipper du for ved at fjerne linierne med kaldene af header().
Avatar billede bahn Nybegynder
28. november 2003 - 20:52 #8
Jeg brugt det der sens ob_start(); i det som jeg har kogt sammen fra phpmyadmin det ende således:

<?php
$what = "data";
$showcolumns = "yes";
$server = "1";
$lang = "da-iso-8859-1";
$db = "user1124";

ob_start();

function PMA_myHandler($sql_insert)
{
    global $tmp_buffer;

      if (function_exists('PMA_kanji_str_conv')) {
        $sql_insert = PMA_kanji_str_conv($sql_insert, $GLOBALS['knjenc'], isset($GLOBALS['xkana']) ? $GLOBALS['xkana'] : '');
    }
    $eol_dlm = (isset($GLOBALS['extended_ins']) && ($GLOBALS['current_row'] < $GLOBALS['rows_cnt']))
            ? ','
            : ';';
        echo htmlspecialchars($sql_insert . $eol_dlm . $GLOBALS['crlf']);
    }

require('./libraries/common.lib.php');
require('./libraries/build_dump.lib.php');

/**
* Defines the url to return to in case of error in a sql statement
*/
$err_url = 'tbl_properties.php'
        . '?lang=' . $lang
        . '&amp;convcharset=' . $convcharset
        . '&amp;server=' . $server
        . '&amp;db=' . urlencode($db)
        . (isset($table) ? '&amp;table=' . urlencode($table) : '');

@set_time_limit($cfg['ExecTimeLimit']);
$dump_buffer = '';
// Defines the default <CR><LF> format
$crlf        = PMA_whichCrlf();

/**
* Builds the dump
*/
    $tables    = PMA_mysql_list_tables($db);
    $num_tables = ($tables) ? @mysql_numrows($tables) : 0;
    if ($what != 'csv' &&  $what != 'excel' && $what != 'xml') {
        $dump_buffer      .= '# phpMyAdmin MySQL-Dump' . $crlf
                          .  '# version ' . PMA_VERSION . $crlf
                          .  '# http://phpwizard.net/phpMyAdmin/' . $crlf
                          .  '# http://www.phpmyadmin.net/ (download page)' . $crlf
                          .  '#' . $crlf
                          .  '# ' . $strHost . ': ' . $cfg['Server']['host'];
        if (!empty($cfg['Server']['port'])) {
            $dump_buffer  .= ':' . $cfg['Server']['port'];
        }
        $formatted_db_name = (isset($use_backquotes))
                          ? PMA_backquote($db)
                          : '\'' . $db . '\'';
        $dump_buffer      .= $crlf
                          .  '# ' . $strGenTime . ': ' . PMA_localisedDate() . $crlf
                          .  '# ' . $strServerVersion . ': ' . substr(PMA_MYSQL_INT_VERSION, 0, 1) . '.' . substr(PMA_MYSQL_INT_VERSION, 1, 2) . '.' . substr(PMA_MYSQL_INT_VERSION, 3) . $crlf
                          .  '# ' . $strPHPVersion . ': ' . phpversion() . $crlf
                          .  '# ' . $strDatabase . ': ' . $formatted_db_name . $crlf;

        $i = 0;
        if (isset($table_select)) {
            $tmp_select = implode($table_select, '|');
            $tmp_select = '|' . $tmp_select . '|';
        }
        while ($i < $num_tables) {
            if (!isset($single)) {
                $table = PMA_mysql_tablename($tables, $i);
            }
            if (isset($tmp_select) && !strpos(' ' . $tmp_select, '|' . $table . '|')) {
                $i++;
            } else {
                $formatted_table_name = (isset($use_backquotes))
                                      ? PMA_backquote($table)
                                      : '\'' . $table . '\'';
                // If only datas, no need to displays table name
                if ($what != 'dataonly') {
                    $dump_buffer .= '# ---------------------------------------------------------------------' . $crlf
                                .  $crlf . '#' . $crlf
                                .  '# ' . $strTableStructure . ' ' . $formatted_table_name . $crlf
                                .  '#' . $crlf . $crlf
                                .  PMA_getTableDef($db, $table, $crlf, $err_url) . ';' . $crlf;
                }
                if (function_exists('PMA_kanji_str_conv')) { // Y.Kawada
                    $dump_buffer = PMA_kanji_str_conv($dump_buffer, $knjenc, isset($xkana) ? $xkana : '');
                }
                // At least data
                if (($what == 'data') || ($what == 'dataonly')) {
                    $tcmt = $crlf . '#' . $crlf
                                .  '# ' . $strDumpingData . ' ' . $formatted_table_name . $crlf
                                .  '#' . $crlf .$crlf;
                    if (function_exists('PMA_kanji_str_conv')) { // Y.Kawada
                        $dump_buffer .= PMA_kanji_str_conv($tcmt, $knjenc, isset($xkana) ? $xkana : '');
                    } else {
                        $dump_buffer .= $tcmt;
                    }
                    $tmp_buffer  = '';
                    if (!isset($limit_from) || !isset($limit_to)) {
                        $limit_from = $limit_to = 0;
                    }
                    // loic1: display data if they aren't bufferized
                    if (!isset($zip) && !isset($bzip) && !isset($gzip)) {
                            echo $dump_buffer;
                                               
                        $dump_buffer = '';
                    }
                 
                                        PMA_getTableContent($db, $table, $limit_from, $limit_to, 'PMA_myHandler', $err_url);

                    $dump_buffer .= $tmp_buffer;
                } // end if
                $i++;
            } // end if-else
        } // end while

        // staybyte: don't remove, it makes easier to select & copy from browser
        $dump_buffer .= $crlf;
    }

$output=ob_get_contents();
ob_end_clean();


    $path = "D:\webroot\backup/";
    $newdir = $path."oldbackup/";
    $handle = opendir($path);
    $opennewdir = opendir($newdir);

    while (false !== ($fil = readdir($opennewdir)))
        {
      if (is_file("$newdir/$fil"))
            {
      unlink("$newdir/$fil");
      }
    }
    closedir($opennewdir);

    while (false !== ($file = readdir($handle)))
        {
      if (is_file("$path/$file"))
            {
      $nytnavn = "old".$file;
      rename($path."/".$file, $path."/".$nytnavn);
            copy("$path/$nytnavn", "$newdir/$nytnavn") or die("Kunne ikke kopiere filen!");
      unlink("$path/$nytnavn");
      }
    }
    closedir($handle);

$filnavn = date("d-m-Y-Hi",time()).".sql";
$fp = fopen ($path.$filnavn, "a");
fwrite ($fp, $output);
fclose($fp);
?>
Avatar billede bahn Nybegynder
28. november 2003 - 20:52 #9
og det virker helt kanon

tak for hjælpen sandbox
Avatar billede Slettet bruger
29. november 2003 - 02:47 #10
Det var så lidt.

ob_start() er forresten også en god funktion, hvis man kunne tænke sig at lave noget, der sætter en header midt i sit script. For eksempel at lave en cookie.
Avatar billede bahn Nybegynder
01. december 2003 - 12:15 #11
øhh
jeg har brug for lidt mere hjælp!!

når jeg bruger scriptet på en database hvor filen er på 26mb, har jeg på fornæmmelsen at ob_start() er flydt op til randen og begynder derfor at skrive ud til skærmen aligevel!

hvor meget kan ob_start indeholde?
hvad kan jeg ellers gøre?
Avatar billede Slettet bruger
02. december 2003 - 00:13 #12
Måske noget med at starte med at lave en tom fil til at gemme i, tømme output bufferen og tilføje til filen på et passende sted i en løkke.

Jeg kunne ikke lige finde noget om grænser for output bufferens størrelse, men mon ikke det er RAM, der sætter grænsen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester