php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
FFiles öffnen mit PHP?


 
Tragon
10-06-2003, 19:45 
 
Und zwar habe ich momentan folgenden Code:

$URL = $_SERVER['DOCUMENT_ROOT']."/..../";

echo "$URL";
$directory=chdir ($URL);
$dir = opendir($URL);

while($filename = readdir($dir))
{
if($filename!="." && $filename!="..")
{


}
}
closedir($dir);




Nun habe ich aber folgendes Problem und zwar würde ich nun gerne alle Dateien in meinem Verzeichnis nacheinadner (in einer Schleife?) durchlaufen öffnen eine preg_match_all durchführen und danach wieder schließen!! Und die nächste datei in meinem Verzeichnis "drannéhmen".
Allerdings sind diese dateien nach dem Kuddelmuddel Motto beschriftet, 10012003.htm
12122001.htm
01.05.2002.htm
usw.

Kann mir da Jemand irgendwie wie immer mal wieder aus der Patsche helfen?

 
Abraxax
10-06-2003, 19:47 
 
in deine unterverzeichnisse kannst du recursiv wechseln. -> suche im forum.

und was hat das mit der namensgebung deiner datei zu tun? :goth:

 
Tragon
10-06-2003, 23:46 
 
Hm ich weiß nicht ob ich mich richtig ausgedrückt habe da die Dateien alle in dem selben Verzeichnis liegen, aber mein Problem ist die Dateien nacheinander zu öffnen in einer Schleife, da die Beschriftung der HTml-Dateien in einem Wahlosen durcheinander vorgenommen wurde?

Weiß jemand wie ich die Dateien nacheinander dann öffnen durchsuchen schließen und dann die nächste öffnen kann???

 
Hopka
10-06-2003, 23:49 
 
$URL = $_SERVER['DOCUMENT_ROOT']."/..../";

echo "$URL";
$directory=chdir ($URL);
$dir = opendir($URL);

while($filename = readdir($dir))
{
if($filename!="." && $filename!="..")
{
$akt_file = file($url.$filename); // hier haste die Datei in einem Array, normalerweise getrennt nach Zeilenumbrüchen.
}
}
closedir($dir);


Durchsuchen weiß ich nicht so genau, was du damit meinst. Wenn du n bestimmtes Wort suchen willst, kannst du dir mal die Funktion stristr anschaun (http://php.net/stristr)

 
Abraxax
10-06-2003, 23:51 
 
aus dem manual.<?php
$handle=opendir('.');
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
?>nun brauchst du doch nur dein zeugs da rein machen.<?php
$handle=opendir('.');
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {
echo "$file\n";
// STATT ECHO KANN MAN AUCH WAS ANDERER MACHEN.
}
}
closedir($handle);
?>

 
Tragon
10-06-2003, 23:56 
 
Sind die einzelnen Html Dateien nun in einem Array gespeichert?
Und dieses Array ist die filename im letzen Beispiel,oder versteh ich da nun was falsch?
Da ich die Dateien ja einzeln nacheinander öffnen und durchfosten möchte??


Sorry das ich da alles fragen muß komm da aber mal wieder gar nicht mit:(

 
BlobBanana
11-06-2003, 00:28 
 
while ($file = readdir ($handle)) {
\\ ...
}


Damit bekommst du nacheinander (also bei jedem Schleifendurchlauf) die Namen aller Dateien in dem Verzeichnis ...
Also steckt in $file nun der Name der Datei ... und damit kannst du dann ja je nachdem was du vorhast auch was anfangen.

 
Tragon
11-06-2003, 00:38 
 
Yo Thanxs da hab ich jetzt verstanden!!!!!!!:rocks:

Hätte da aber noch ne Frage wenn ich fopen mache was bekomme ich dann für eine Angabe (bei mir:"Resource id #2") Bzw was kann ich damit anfangen?

 
mrhappiness
11-06-2003, 00:40 
 
du kannst mit allen möglichen dateifunktionen damit was anfangen

http://www.php.net/manual/de/ref.filesystem.php

hth

 
Tragon
11-06-2003, 00:43 
 
ing: fopen(dvd.htm) [function.fopen]: failed to create stream: Permission denied


Und was sagt mir diese Fehlermeldung außer das ich was falsch gemacht habe???

 
BlobBanana
11-06-2003, 00:51 
 
Das du keine Zugriffsrechte fuer die Datei hast ...
Welche Rechte hat denn die Datei?

"Resource id #2" ist der File-Handler ... siehe mrhappiness link ...

 
Tragon
11-06-2003, 00:58 
 
Hab den Webspace bei Hosteurope und die rechte sind als Owner read write excute und die anderen nur Read...

 
BlobBanana
11-06-2003, 01:05 
 
Und wie sieht dein fopen() Befehl aus? Forderst du da auch ein Schreibrecht an oder nur r ? [edit]natuerlich nur "r" und nicht "r+"

 
mrhappiness
11-06-2003, 01:07 
 
und du wolltest die datei auch zum schreiben öffnen oder?

owner bist zwar du, aber nur wenn du dich als der user anmeldest mit dem du die datei angelegt hast (wahrscheinlich per ftp hochgeladen oder? )

php läuft mit der userid des webservers und der webserver hat normaler user / group = nobody / mogroup und das dürfte nicht deinem ftp-user entsprechen

entweder du machst dich mit den ftp-funktionen vertraut, oder lädst die dateien per php nochmal hoch nachdemdu sie gelöscht hast oder du setzt per ftp die rechte anders

oder du schreibst ganz freundlich an support@netbuild.de die haben da bei sich so gedeichselt,dass php zwar als modul im apache läuft, aber mit den rechten des benutzers (=ftp) und nicht mit denen des webservers, müsstest dannhalt noch offen, das HE das adaptiert

die wollten das als GNU machen afair, fragen kostet ja nix

 
Tragon
11-06-2003, 01:13 
 
Also einfach die Rechte andes setzen wird gemacht thanks a lot mal wieder!
Ohne euch würde ich glaube ich sterben!!!!!


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:19 Uhr.