require(), Script findet ordner nicht oder blendet ihn aus

dochamburg

Mitglied
Hallo zusammen!

Foldende Problematik: Ich habe verschiedene Scripte gebastelt, welche allerlei Verschiebe- und Umbenennungsaktionen in gewissen Ordnern vornehmen. Nun möchte ich gerne, dass für alle Scripte per Variable ein Zielordner definiert ist, damit die verschiedenen Scripte "wissen", welcher Zielordner mit Unterordnern zu behandeln ist und ich nicht jedesmal in allen vier Scripten eintragen muss, welcher Ordner zu behandeln ist.

Habe dazu eine zielordner.inc.php erstellt:
PHP:
$zielordner = "007203";
Die Arbeitsscripte sehen aus wie folgt (am Beispiel rename_pics.php):
PHP:
<?php
require('zielordner.inc.php');

$handle = opendir( $zielordner.'/FotoFSK16-300x300/' );
echo "Verzeichnis-Handle: $handle <br>";
echo "Dateien:\n";
$zaehler = 1;
while ( $file = readdir ( $handle ) ) {
if( $file == "." or $file == "..") {
    }else{
     if ( rename( $zielordner.'/FotoFSK16-300x300/'.$file, $zielordner.'/FotoFSK16-300x300/pica'.(str_pad($zaehler, 3, "0", STR_PAD_LEFT)).".jpg" ) ) {
         $zaehler++;
         echo "Datei $file gefunden <br>";
         } else {
           echo "Datei $file nicht gefunden <br>";
           }
   }
} closedir( $handle );
?>
Wenn ich nun dieses Script ausführe, bekomme ich folgende Fehlermeldung:
Code:
$zielordner = "007203";
Warning: opendir(/FotoFSK16-300x300/) [function.opendir]: failed to open dir: No such file or directory in /var/www/apache2-default/test/content/tempcontent/rename_pics.php on line 4
Ein echo
PHP:
<?php
require('zielordner.inc.php');
echo $zielordner;
?>
gibt folgendes aus:
Code:
$zielordner = "007203";
Habe schon alles mögliche ausprobiert. Ist wahrscheinlich ganz simpel, aber ich komme nicht darauf.

Wer kann mir da helfen?

Dank vorab!


dochamburg
 
Du musst den PHP-Code auch in einen PHP-Block packen, also:
PHP:
<?php

	$zielordner = "007203";
Andernfalls wird es nicht als PHP-Code interpretiert.
 
Liegt Verzeichnis 007203 in dem von dir genannten Beispiel im selben Verzeichnis wie rename_pics.php ? (also "tempcontent")
Gib evtl. mal den ganzen Pfad an!
/var/www/apache2-default/test/content/tempcontent/007203

@gumbo: Stimmt, seltsam, wie kann dann
PHP:
<?php
require('zielordner.inc.php');
echo $zielordner;
?>
das Richtige ausgeben ? (also 007203)

edit2:
Ah ok, jetz hab ichs geschnallt ;)
Es gibt tatsächlich " $zielordner = "007203"; " aus...
 
Zuletzt bearbeitet:
danke an alle!

funktioniert. der fehler lag darin, dass ich "<?php" und "?>" nicht in die zielordner.inc.php geschrieben hatte.

haette ich auch selbst drauf kommen muessen.

@drucko:
der pfad ist genau der, welchen du angegeben hast, sprich /var/www/apache2-default/test/content/tempcontent/007203.

nochmals dank euch!


dochamburg
 
Da der Inhalt der „zielordner.inc.php“-Datei keinen PHP-Block enthält, wird dieser direkt ausgegeben, also:
Code:
$zielordner = "007203";
Das echo $zielordner; sollte dann, falls nicht vorher schon eine $zielordner-Variable definiert wurde, zu einem Notice-Fehler („Undefined variable: zielordner“) führen. Insgesamt würde also Folgendes ausgageben:
Code:
$zielordner = "007203";
Notice: Undefined variable: zielordner in … on line …
 
Zurück