Untergeordnetes Verzeichnis mit opendir öffnen

Hallo,

ich möchte ein untergeordnetes Verzeichnis mit opendir öffnen.
Das aktuelle zu öffnen, ist einfach:
$folder=opendir(".");

Bei einem untergeordnetem scheitere ich:
Warum klappen Dinge wie:
$folder=opendir("./hierlang/dorthin/");
oder
$folder=opendir(„hierlang/dorthin/“);
nicht?

Habe schon im Archiv gefunden, dass man
chdir("./hierlang/dorthin/");
vorschalten soll. Klappt aber auch nicht.

Bin ich einfach zu blöd?

Kann mir einer sagen, wie das Ganze aussehen soll? Danke für eure Tipps!
Chris

Hallo,

ich möchte ein untergeordnetes Verzeichnis mit opendir öffnen.
Das aktuelle zu öffnen, ist einfach:
$folder=opendir(".");

Bei einem untergeordnetem scheitere ich:
Warum klappen Dinge wie:
$folder=opendir("./hierlang/dorthin/");
oder
$folder=opendir(„hierlang/dorthin/“);
nicht?

Habe schon im Archiv gefunden, dass man
chdir("./hierlang/dorthin/");
vorschalten soll. Klappt aber auch nicht.

 <?php echo getcwd();<br /> ?\>

Vermutung: Du bist nicht in dem
Verzeichnis wo Du denkst daß
Du bist.

Grüße

CMБ

Hi CMБ,

danke für die Antwort.

Die Abfrage habe ich auch schon gemacht. Nach dem chdir("./hierlang/dorthin/"); wird mir auch der Pfad blablabla/hierlang/dorthin angezeitgt.

Gruß
Chris

Hallo

Die Abfrage habe ich auch schon gemacht. Nach dem
chdir("./hierlang/dorthin/"); wird mir auch der Pfad
blablabla/hierlang/dorthin angezeitgt.

Welche Fehlermeldung kommt von opendir() ?

Grüße

CMБ

Welche Fehlermeldung kommt von opendir() ?

keine, es öffnet einfach aktuelle Verzeichnis, und ignoriert das chdir.

Hallo

Welche Fehlermeldung kommt von opendir() ?

keine, es öffnet einfach aktuelle Verzeichnis, und ignoriert
das chdir.

Hmmm. Also bei mir geht sowas.
Kann es sein, daß der Provider nur
ganz bestimmte Verzeichnisse zu
öffnen erlaubt - und diese dann
nur ‚relativ‘ (…/css oder …/images)
zur aktuellen Position?

Grüße

CMБ

Hallo nochmal und danke für deine Geduld.

Dass der Provider das nicht erlaubt, kann ich mir kaum vorstellen. Ich habe ihn auch gerade erst gewechselt. Beim alten hatte ich das gleiche Problem.

Ich glaube eher, dass ich irgendetwas verpocke (bin blutiger Anfänger)

Kannst du noch einmal einen Blick auf das Ganze im Kontext werfen? Vielleicht stimmt ja da was nicht:

function randomImage()
{
chdir("./datenbank/sicherheitscodes/");
$folder=opendir(".");
while ($file = readdir($folder))
$names[count($names)] = $file;
closedir($folder);
//sort file names in array
sort($names);
//remove any non-images from array
$tempvar=0;
for ($i=0;$names[$i];$i++){
$ext=strtolower(substr($names[$i],-4));
if ($ext==".jpg"||$ext==".gif"||$ext==„jpeg“||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
}
//random
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($names1, 2);
//random image from array
$slika=$names1[$rand_keys[0]];
//image dimensions
$dimensions = GetImageSize($slika);
if (isset($HTTP_GET_VARS[„pic“])){header („Location: $slika“);}
else {echo " ";}
}

Danke!
Chris

Hallo

Kannst du noch einmal einen Blick auf das Ganze im Kontext
werfen? Vielleicht stimmt ja da was nicht:

OK, ich habs mal leicht umgestellt, so dass
Du es mit einem variablen Pfad aufrufen kannst:

 function randomImage($pfad)
{
 $fnames = Array();
 $dh = opendir($pfad);
 while($fn = readdir($dh)) {
 if(preg\_match('/\.(jpe?g|gif|png)$/i', $fn, $m)) 
 $fnames[] = $fn;
 }
 closedir($dh);

 $slika = $pfad . $fnames[array\_rand($fnames)];
 $dimensions = getimagesize($slika);
 if(isset($HTTP\_GET\_VARS["pic"])) {
 header("Location: $slika");
 }
 else {
 echo ' '; 
 }
}

Aufruf dann z.B. mit

 <?php randomImage('datenbank/sicherheitscodes/'); ?>

Grüße

CMБ

1 Like

Nun klappt es!
Ich danke dir, Semjon Michailowitsch!

Es hat geklappt und ich habe noch was dabei gelernt. Jetzt habe ich heute Abend doch noch Zeit, ein Bierchen trinken zu gehen :smile:

Ich werde auf dein Wohl anstoßen.

Schönen Abend
Chris

Hallo

Es hat geklappt und ich habe noch was dabei gelernt.

… ist aber auch an schönen Sommertagen auf seiner Simson Schwalbe anzutreffen …

Wie konnte ich da nicht helfen.
Das muß man unterstützen!

Grüße

CMБ

1 Like