anpera.net
https://anpera.dyndns.org/phpbb3/

Fwrite funktioniert nicht
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4722
Seite 1 von 1

Autor:  MySql [ Do 13 Nov, 2008 21:59 ]
Betreff des Beitrags:  Fwrite funktioniert nicht

Hallo,

ich habe folgendes Problem:

Ich versuche das Chatsystem etwas umzuschreiben, so das es einen refresh gibt. (Mal wieder :P )
Nunja.. nur kommt schon der erste Fehler in der neuen addcommentary Funktion... Fwrite(); beschreibt die angegebene Datei nicht.

Erster Part: ./commentary/comments_section_$section.txt! In diesem Fall: ./commentary/comments_section_village.txt
Zweiter Part (Da erster Part nicht ging): comments_section_$section.txt! In diesem Fall: comments_section_village.txt

Das Dir und die Datei haben CHMOD-Rechte "777" - Beschreibbar.

Ich wundere mich, warum fwrite nicht funktioniert. Daher es in anderen projekten, die mit *.txt Dateien zutun hatten, immer ging.

Hier mal die addcommentary:

$this->bbcode_second_pass_code('', 'function addcommentary()
{
global $_GET,$_POST,$session,$REQUEST_URI,$doublepost;
$doublepost = 0;

$section = $_POST['section'];
$talkline = $_POST['talkline'];

if ($_POST['insert'][$section] !== NULL && trim($_POST['insert'][$section]) != '') :

$commentary = str_replace('`n','',soap($_POST['insert'][$section]));
$y = strlen($commentary);

for ($x=0;$x<$y;$x++) :

if (substr($commentary,$x,1)) :

$cc++;
if ($cc > getsetting('maxcolors',10)) :

$commentary = substr($commentary,0,$x).preg_replace('"[`]."','',substr($commentary,$x));
$x = $y;

endif;

endif;
endfor;

$mysql_emote = false;

if ($mysql_emote == true) :

if ((substr($commentary,0,4) == '/afk') || (substr($commentary,0,5) == '/away')) :

$skip = explode(' ',$commentary,2);

if ($skip[1] > '') :

$row = '(`^'.$skip[1].'`&)';

endif;

switch (e_rand(1,3)) :

case 1:

$commentary = '/me `&ist kurz beschäftigt. '.$row;

break;

case 2:

$commentary = '/me `&besucht mal kurz das Plumpsklo im Wald! '.$row;

break;

case 3:

$commentary = '/me `&verspürt einen tiefen Schmerz in der Magengegend! '.$row;

break;

endswitch;

endif;

if ((substr($commentary,0,5) == '/kiss')) :

$skip = explode(' ',$commentary,2);

if ($skip[1] == '') :

return false;

elseif ((strtoupper($skip[1]) == $session['user']['login']) ||
(strtolower($skip[1]) == $session['user']['login']) ||
(ucfirst(strtolower($skip[1])) == $session['user']['login'])) :

debuglog('`& Hat versucht sich selbst zu küssen!');

else:

$query = db_query('SELECT kiss FROM accounts WHERE login = "'.$skip[1].'"');
$row = db_fetch_assoc($query);
$row['kiss']++;
db_query('UPDATE accounts SET kiss = '.$row['kiss'].' WHERE login = "'.$skip[1].'"');
$commentary = '/me `3küsst '.$skip[1].'`! ganz herzlich!';

endif;

endif;

endif;

Commentary();

$commentary = preg_replace('"([^[:space:]]{45,45})([^[:space:]])"','\\1 \\2',$commentary);
if ($session['user']['drunkenness']>50) $talkline = 'lallt';
$talkline = translate($talkline);

if ($talkline != 'sagt'
&& substr($commentary,0,1)!=':'
&& substr($commentary,0,2)!='::'
&& substr($commentary,0,3)!='/me')
$commentary = ':`3'.$talkline.': \\\"`#'.$commentary.'`3\\\"';
$data = fopen('comments_section_'.$section.'.txt', 'w+');

if (!$data) :

output('`iDie Datei verfügt über keinerlei Schreibrechte! CHMOD bitte auf 777!`i`n`n');

else :

fwrite($data, $section,$commentary);
fclose($data);

endif;

endif;

}
# Noch nicht ganz fertig ;) ')

Ich überprüfte selbstverständlich auch, ob es überhaupt bis zum Beschreiben der Datei kommt. Dies tat ich mit einem Output. Dieser Outputinhalt wurde mir wie zu erwarten angezeigt ! Also wird wohl irgendwas mit der Verbindung nicht stimmen.. Google hat mir leider nicht weiter geholfen.

Hoffe Ihr könnt mir helfen..

Lg,
MySQL.

Autor:  Harthas [ Do 13 Nov, 2008 22:11 ]
Betreff des Beitrags:  Re: Fwrite funktioniert nicht

Schau dir mal die Parameter der Funktion fwrite an. Besonders den dritten, den optionalen Parameter $length.

Im übrigen wären file_get_contents() und file_put_contents() wohl eher zu empfehlen. Würde es zumindest vereinfachen.

Autor:  MySql [ Do 13 Nov, 2008 22:13 ]
Betreff des Beitrags:  Re: Fwrite funktioniert nicht

Warum hab ich Idiot den ein, dahin geschmissen? o.O
Danke Hartas^^ Ich hab das , voll nicht gesehen sollte eig. ein Punkt sein.
Geht nun^^

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/