Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[php] if file exists-> else problem

Empfohlene Antworten

Veröffentlicht

moinsen,

ich habe folgendes problem und verzweifle gleich.

ich möchte falls eine datei existiert, etwas anhängen, falls sie nicht existiert, dann soll sie erstellt werden (klappt auch) und etwas in eine andere datei zusätzlich angehängt werden.

...das mache ich bis hier so:

...
$check_engine_topic_file = "blabla.dat"
if (file_exists($check_engine_topic_file))

{
$engine_topic_file = fopen("$check_engine_topic_file","a");
chmod ("$check_engine_topic_file", 0777);
fputs ($engine_topic_file, "$engine_topic_content");
fclose($engine_topic_file);
}
else
$engine_topic_file = fopen("$check_engine_topic_file","a");
chmod ("$check_engine_topic_file", 0777);
fputs ($engine_topic_file, "$engine_topic_new_content_file");
fclose($engine_topic_file);
$enginefile_read = fopen("file2.dat","a");
$content_index = "<li><a href=$labor-$topic_id.html>$topic_data[title]</a></li>";
fwrite($enginefile_read, "$content_index" );
fclose($enginefile_read);

...
[/PHP]

... nur macht das skript nicht was ich oben beschrieben habe, sondern macht immer dass, was nach else kommt, auch wenn die datei existiert. beim ersten zugriff auf die datei wird dann natürlich selbige erstellt, klappt ja wie gesagt, aber beim zweiten zugriff kommt dann noch zusätzlich die fehlermeldung:

Warning: fputs(): 39 is not a valid File-Handle resource in ...blabla apache..../reply.php on line 191

Warning: fclose(): 39 is not a valid File-Handle resource in ..bla bla../reply.php on line 192

:dontknow: was mach ich denn verdammt nochmal falsch?

(parse error machen verdammt schlechte laune wenn sie nicht verschwinden)

Original geschrieben von Tiny Boom

moinsen,

ich habe folgendes problem und verzweifle gleich.

ich möchte falls eine datei existiert, etwas anhängen, falls sie nicht existiert, dann soll sie erstellt werden (klappt auch) und etwas in eine andere datei zusätzlich angehängt werden.

...das mache ich bis hier so:

... nur macht das skript nicht was ich oben beschrieben habe, sondern macht immer dass, was nach else kommt, auch wenn die datei existiert. beim ersten zugriff auf die datei wird dann natürlich selbige erstellt, klappt ja wie gesagt, aber beim zweiten zugriff kommt dann noch zusätzlich die fehlermeldung:

Warning: fputs(): 39 is not a valid File-Handle resource in ...blabla apache..../reply.php on line 191

Warning: fclose(): 39 is not a valid File-Handle resource in ..bla bla../reply.php on line 192

:dontknow: was mach ich denn verdammt nochmal falsch?

(parse error machen verdammt schlechte laune wenn sie nicht verschwinden)

versuchs ma so:

...
$check_engine_topic_file = "blabla.dat"
if (file_exists($check_engine_topic_file))

{
chmod ($check_engine_topic_file, 0777);
$engine_topic_file = fopen($check_engine_topic_file,"a");
fputs ($engine_topic_file, $engine_topic_content);
fclose($engine_topic_file);
}
else
$engine_topic_file = fopen($check_engine_topic_file,"a");
chmod ($check_engine_topic_file, 0777);
fputs ($engine_topic_file, $engine_topic_new_content_file);
fclose($engine_topic_file);
$enginefile_read = fopen("file2.dat","a");
$content_index = "<li><a href=$labor-$topic_id.html>$topic_data[title]</a></li>";
fwrite($enginefile_read, $content_index );
fclose($enginefile_read);

...
[/PHP]

btw: welche zeile ist die zeile 192??

bringt leider nichts, dachte auch schon es liegt am chmode.

zeile 192 ist übrigens folgende:

$engine_topic_file = fopen("$check_engine_topic_file","a");

:(

so müsste es jetztz stimmen

...
$check_engine_topic_file = "blabla.dat"
if (file_exists($check_engine_topic_file))

{
chmod ($check_engine_topic_file, 0777);
$engine_topic_file = fopen($check_engine_topic_file,"a");
fputs ($engine_topic_file, $engine_topic_content);
fclose($engine_topic_file);
}
else
$engine_topic_file = fopen($check_engine_topic_file,"a");
if (!$engine_topic_file ) $engine_topic_file = fopen($check_engine_topic_file,"a");
chmod ($check_engine_topic_file, 0777);
fputs ($engine_topic_file, $engine_topic_new_content_file);
fclose($engine_topic_file);
$enginefile_read = fopen("file2.dat","a");
$content_index = "<li><a href=$labor-$topic_id.html>$topic_data[title]</a></li>";
fwrite($enginefile_read, $content_index );
fclose($enginefile_read);

...
[/PHP]

immer noch der gleiche mist.

ich habe sogar schon per ftp prog die dateirechte geprüft,

die zu beschreibende datei ist auf 777:(

du könntest auch mal den kompletten code posten und die zeile markieren .....

Original geschrieben von Tiny Boom

...
$check_engine_topic_file = "blabla.dat"
if (file_exists($check_engine_topic_file))

{
$engine_topic_file = fopen("$check_engine_topic_file","a");
chmod ("$check_engine_topic_file", 0777);
fputs ($engine_topic_file, "$engine_topic_content");
fclose($engine_topic_file);
}
else
$engine_topic_file = fopen("$check_engine_topic_file","a");
chmod ("$check_engine_topic_file", 0777);
fputs ($engine_topic_file, "$engine_topic_new_content_file");
fclose($engine_topic_file);
$enginefile_read = fopen("file2.dat","a");
$content_index = "<li><a href=$labor-$topic_id.html>$topic_data[title]</a></li>";
fwrite($enginefile_read, "$content_index" );
fclose($enginefile_read);

...
[/PHP]

... nur macht das skript nicht was ich oben beschrieben habe, sondern macht immer dass, was nach else kommt, auch wenn die datei existiert. beim ersten zugriff auf die datei wird dann natürlich selbige erstellt, klappt ja wie gesagt, aber beim zweiten zugriff kommt dann noch zusätzlich die fehlermeldung:

or machen verdammt schlechte laune wenn sie nicht verschwinden) [/b]

Direkt hinter else fehlt ein "(" und am Ende deines Codes ein ")". So wie du das schreibst gehört alles ab chmod, egal wie weit du es einrückst, nicht mehr zum Else-Zweig.

hth

Reinhold

ich glaube Reinhold meinte geschweifte Klammern, also


if ( Bedingung )
{
blabla
}
else
{
anderes bla
}
[/PHP]

zu der Sache mit dem ...not a valid File-Resource:

Überprüfe ob du den korrekten Pfad zur Datei hast

gruß gurkenpapst

Original geschrieben von gurkenpapst

ich glaube Reinhold meinte geschweifte Klammern

Ja, logisch! *mirselbstfestaufsmaulhaupatschaua*

Original geschrieben von gurkenpapst

ich glaube Reinhold meinte geschweifte Klammern, also


if ( Bedingung )
{
blabla
}
else
{
anderes bla
}
[/PHP]

zu der Sache mit dem ...not a valid File-Resource:

Überprüfe ob du den korrekten Pfad zur Datei hast

gruß gurkenpapst [/b]

ja klar. hätte man eigentlich auf den ersten blick sehen müssen :WD

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.