Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
maximal grösse bei fwrite() ??? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
maximal grösse bei fwrite() ???


 
fabio
22-04-2004, 19:11 
 
hi

habe da ein scheiss problem, und zwar, habe ich ein script, welches nicht geht, also so halbe mindestens.

und zwar macht das ein backu von einer mysql DB, und speichert das ganze als textdatei, macht schliesslich noch eine gZip version draus.

also, das geht auch wunderbar, bis vor kurzem.

und zwar ist das so:
wenn ich beim mysql query ein LIMIT 0,1000 ranmache, dann macht er das backup halt nur mit 1000DS, aber dann geht es.

wenn ich aber das backup von alles DS machen will, schafft er es nicht mehr, und beendet einfach ohne fehlerausgabe.


also, ich denke das liegt nun daran, das der fwrite befehl irgendwie zu viele zeichen speichern müsste.
er muss rund 5,5mb speichern.

weiss jemand, ob nun dieser fwrite eine begrenzung von weiss ich wievielen bytes hat??

 
Abraxax
22-04-2004, 19:20 
 
ich denke eher, dass dein timelimit für dein script erreicht wird, und daher ein abbruch erfolgt.

 
fabio
22-04-2004, 19:24 
 
glaub ich weniger, da mein max_exec_time bei sage und schreibe 7200 sekunden liegt, und meine max_input_time bei immerhin 600sek ist.
die memory_limit immerhin bei 32Mb


kann also kaum an dem liegen.

auch ist noch genug platz auf der platte frei ( > 2gb)


trotzdem danke für die schnelle antwort

 
fabio
23-04-2004, 11:22 
 
hi

weiss den hier niemand, was da los sein könnte??

 
fabio
24-04-2004, 20:19 
 
halli hallo, bitte ist sehr dringend, ich kann jetzt keine backups mehr machen.

weiss denn niemand rat??

hiiiiiillllllffffffeeeee

 
fabio
24-04-2004, 20:27 
 
also ich geb euch jetzt doch mal den source, vielleicht nützt es doch noch.

aber eben, als die tabelle noch etwas kleiner war, ging alles.


<?php
//ausgabe puffer löschen, dass alle echos fortlaufend angezeigt werden
ob_implicit_flush();

//weitermachen wenn der user das fenster schliesst?aber sicher doch
ignore_user_abort(true);
?><html>
<head>
<title>BackUp</title>
<link rel="stylesheet" type="text/css" href="inc/style.css">
<style type="text/css">
<!--
body{
margin-left:10px;
margin-top:7px;
}
//-->
</style>
</head>
<body bgcolor="#AFCCE7">
<?php


if(eregi("filebackup",$type)){//klammer start "filebackup"
echo "Erstelle BackUp...<br>\n";


//verbindung zu mysql herstelltn
include("../../require/include/connect.php");
$path ="log/dump/";

function gzcompressfile($source,$level=9){
$dest=$source.'.gz';
$mode='wb'.$level;
$error=false;
if($fp_out=gzopen($dest,$mode)){
if($fp_in=fopen($source,'rb')){
while(!feof($fp_in))
gzputs($fp_out,fread($fp_in,1024*512));
fclose($fp_in);
}
else $error=true;
gzclose($fp_out);
}
else $error=true;
if($error) return false;
else return $dest;
}




$file_name = $path.date("d.m.Y_\u\m_H\.i\.s").".csv";


// Start Ausgabe und Berechnung

unset($data);
$data="";

$result=mysql_query("select * from filegrabber");

$anzahl= mysql_num_rows ($result);

$spaltenzahl = mysql_num_fields($result);

for ($i=0;$i<$anzahl;$i++) {

$zeile=mysql_fetch_array($result);


for ($k=0;$k < $spaltenzahl;$k++){
if($k == ($spaltenzahl - 1))
{
$data.="\"".addslashes($zeile[$k])."\"";
}
else
{
$data.="\"".addslashes($zeile[$k])."\";";
}
}
$data.= "\r\n";
}




$fd = fopen($file_name,"a+");


fputs($fd, $data);

fclose($fd);
gzcompressfile($file_name,9);
unlink($file_name);
echo "Datei mit dem Namen \"<i>".basename($file_name).".gz</i>\" erstellt<br>\n\n";
echo "<span class='green'>BackUp erfolgreich erstellt</span>\n\n";
}//klammer ende "filebackup"
?>

 
heino1989
24-04-2004, 21:51 
 
kannst du bitte mal aufhören deinen beitrag andauernd zu pushen ?
es nervt !!! wenn dir niemand antwortet weiss es wohl niemand oder derjenige , der es weiss ist nicht online !!! also hör damit bitte auf

 
goth
24-04-2004, 22:13 
 
Mann könnte ja sogar mal richtig antworten ... nur leider hat der Kerl ja immer noch kein richtiges deutsch gelernt ... warum und vor allem wo also sollte ich mir seine Frage erstmal übersetzen lassen??

Anders gefragt ... warum sollte ich mir bei der Beantwortung seiner Frage Mühe geben, wenn der Herr sich nicht einmal bei der Fragestellung mühe gibt ... :dontknow:

 
heino1989
24-04-2004, 22:28 
 
öh du hast recht :D was will der eigentlich von uns ?

 
fabio
25-04-2004, 00:30 
 
also nochmals.

ich hab meine fragen nochmals durchgelesen.
ist doch wohl klar.

der unterste satz im eröffnungs thread ist doch eine klare frage.

"weiss jemand, ob nun dieser fwrite eine begrenzung von weiss ich wievielen bytes hat??"


was kann ich dafür das ich halt mal noch ein newbie bin, und nicht alle heimtückischen kleinigkeiten von jedem achso unwichtigen befehl (oke, oke, fwrite ist nicht unwichtig) kenne.

im PHP handbuch konnte ich in den usercomments zwar finden, dass er wenn kein speicherplatz mehr auf der HDD frei ist, nur ein zero-byte-file erstellt, also einfach ohne inhalt.


das problem ist, es kommt nicht mal das.

ach ja, wenn doch noch jemand was zu meinem deutsch meint, sorry, ich bin auch kein meister, aber für das, dass ich erst vor 2 jahren in die schweiz eingereist bin, denke ich, beherrsche ich es doch recht gut.
und das mit der gross-klein-schreibung, schaut euch hier rum, selbst abraxax schreib immer klein.
verurteilt also nicht jemanden nach dem stil, mit welchem er zu schreiben pflegt.
danke

und das ich mit dem pushing nerve, das glaube ich, aber anders gesehen ist das halt ne art hilfe ruf.

ich habe diese frage schon in div. communitys und zwei newsgroups gepostet, leider wurde noch nirgends was gutes, rsp. brauchbares gepostet.

und da ihr aus eigener erfahrung aus die "cleversten" sind, zähle ich nun mal auf eure antwort, und ich darf hier sagen, dass hier sonst immer sehr schnell geanwortet wird.
leider hat sich dieser thread nach zwei tagen kaum ein stück nach vorne bewegt.

 
heino1989
25-04-2004, 01:11 
 
http://de2.php.net/de/fwrite
Wenn der length Parameter gegeben ist, wird das Schreiben nach length Bytes beendet, oder wenn das Dateiende (EOF) erreicht ist. Je nachdem was eher eintritt. natürlich wird das auch dur die maximale dateigröße deines system beschränkt bei windows glaub ich 2 oder 4 GB
pushen ist trotzdem dreck und in vielen foren verboten ;)
bzw. nach ner woche oder so darf man sein thread nochmal pushen aber nicht jeden tag

 
fabio
25-04-2004, 01:30 
 
nun, also ich habe den optitionalen parameter $lenght nicht abgegeben, wie man aus dem script lesen könnte.
egal.

und also die datei ist nicht einaml 10megabyte gross, womit die dateigrösse _hoffenlich_ nicht erreicht ist :)

ich jetzt mal so provisorisch ein backup durch die *.frm *.MYI und *.MYD dateien gemacht.

allerdings finde ich es eher unschön.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:52 Uhr.