php.de
Alt 16.04.2007, 11:16  
Erfahrener Benutzer
 
Registriert seit: 03.07.2003
Beiträge: 292
PHP-Kenntnisse:
Fortgeschritten
dh1sbg
Standard mkdir -

Hallo!
Ich möchte rekursiv Verzeichnisse erstellen: xp/yp/zp/.
Wenn ich den Kommentar bei if(!mkdir...) lassen, dann gibt mir das Echo

xp
xp/yp
xp/yp/zp

aus. Lasse ich den Kommentar weg, wird $long_path mit "" gefüllt, das Ergebnis des Echos ist
xp
yp
zp

Das verstehe ich nicht. Habe ich hier einen Denkfehler?

Grüße
Bruno

PHP-Code:
    $paths=split("/","xp/yp/zp/");
   
$long_path="";
    foreach(
$paths as $value){
      if(
strlen($value)>0){
         
$my_path=$long_path.$value;
         if(!
file_exists($my_path)){
           echo 
"$my_path
"
;
           
$long_path.=$value."/";
           
#if(!mkdir($my_path)){exit();}
         
}
      }
    } 
dh1sbg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.04.2007, 11:29  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

du gibst das echo immer an der gleichen Stelle aus, da der Komentar immer nach dem echo kommt, müsste echo immer das gleiche ausgeben, oder ich versteh den code ned wirklich?!
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 16.04.2007, 11:42  
Erfahrener Benutzer
 
Registriert seit: 03.07.2003
Beiträge: 292
PHP-Kenntnisse:
Fortgeschritten
dh1sbg
Standard

ups - Fehler gefunden - die Zuweisung $long_path.=$value."/";
war zu früh... Muss außerhalb der IF- Abfrage.



<?php $paths=split("/","xp/yp/zp/");
$long_path="";
foreach($paths as $value){
if(strlen($value)>0){
$my_path=$long_path.$value;
if(!file_exists($my_path)){
echo "$my_path
";
#if(!mkdir($my_path)){exit();}
}
$long_path.=$value."/";
}
}
dh1sbg ist offline  
Alt 16.04.2007, 13:49  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Die User-Notes von http://de.php.net/mkdir behandeln auch das rekursive Anlegen von Verzeichnissen.
Der Korrektheit halber würde ich statt file_exists() die Funktion is_dir() verwenden. In seltenen Fällen kann eine Datei ja bereits wie ein Ordner heißen.

Und nach Murphys Gesetz passiert das auch irgendwann
Zergling-new ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP: mkdir rekursiv Zergling-new Tutorials 1 13.08.2007 04:32
mkdir() mit suexec nicht sauber? Anotherone PHP-Fortgeschrittene 4 22.06.2007 13:35
Ordner an ganz anderer Stelle mit mkdir() dethlef14 PHP Tipps 2006 2 11.10.2006 22:42
windows: mkdir dh1sbg PHP Tipps 2006 7 29.09.2006 10:19
probleme mit mkdir jens76 PHP Tipps 2006 1 19.05.2006 17:54
mkdir() PHP Tipps 2006 20 16.05.2006 16:28
Änderungen mkdir() von PHP Version 4.3.9 auf PHP 5.0.5 PHP Tipps 2005-2 2 20.10.2005 22:51
mkdir flual2000 PHP Tipps 2005-2 12 07.09.2005 12:34
mkdir Problem PHP Tipps 2005-2 0 06.08.2005 17:52
mkdir() funktioniert nicht!!! 18inch PHP Tipps 2005-2 7 11.07.2005 01:00
mkdir will Verzeichniss nicht erstellen?! Calli PHP Tipps 2005-2 8 06.06.2005 16:13
mkdir() permission denied... Warum?? 18inch PHP Tipps 2005 11 08.04.2005 15:54
mkdir() - Problem: Permission denied DannyD PHP Tipps 2004-2 5 08.12.2004 12:09
Problem mit mkdir PHP Tipps 2004-2 2 11.11.2004 14:02
Problem mit mkdir() und SAFE_MODE Calexico PHP Tipps 2004 16 24.10.2004 19:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mkdir rekursiv, php mkdir rekursiv funktioniert nicht, statt file_exists, php mkdir abfrage, mkdir recursiv, if (file_exists mkdir, http://de.php.net/mkdir, php mkdir() xp, php mkdir rekursiv, xp mkdir -p, rekursives mkdir, php net mkdir

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.