Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
is_dir vs. is_file [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
is_dir vs. is_file


 
stekoe2000
16-05-2008, 23:23 
 
Hallo Leute,

irgendwie stehe ich seit mehreren Stunden an folgendem Problem: Ich habe eine Datei unter /www/_FILES/subdir/text.txt liegen und prüfe genau das mit:


if(is_dir('/www/_FILES/subdir/text.txt '))
echo "is Dir!";
elseif(is_file('/www/_FILES/subdir/text.txt '))
echo "No, is File!";


Und er gibt mir aus "is Dir". Das ganze soll dafür sein, dass ich prüfe, ob es sich um einen Ordner oder um eine Datei handelt, damit ich hinterher rmdir() oder unlink() anwenden kann. Aber warum gibt er das offensichtlich falsche aus, da es sich ja um eine Datei handelt?

 
Blackgreetz
17-05-2008, 00:34 
 
hi,

weiß zwar im Moment nicht genau warum, aber was passiert denn, wenn du die Abfrage umdrehst? D.h. erst is_file und dann is_dir?

Kommt dann auch "is dir" raus?

Was passiert, wenn du wirklich mal einen Ordner angibst?

mfg

 
$_Baker
17-05-2008, 00:54 
 
Was machtn das Leerzeichen da?

 
UzumakiNaruto
17-05-2008, 01:49 
 
#wäre hier eine relative pfadangabe nicht besser?
# *.php liegt in /www/_FILES// (beispiel)
# is_dir('/subdir/text.txt');

if (is_dir('/www/_FILES/subdir/text.txt')) #leerzeichen entfernt, wie $_Baker ansprach
{
echo "is Dir!";
} elseif (is_file('/www/_FILES/subdir/text.txt')) #leerzeichen entfernt, wie $_Baker ansprach
{
echo "No, is File!";
}

 
zerni
17-05-2008, 13:21 
 
$fh = opendir("path/to/your/file/";
while($datei = readdir($fh)){
if(filetype($datei) == 'file') unlink($datei);
elseif(filetype($datei) == 'dir') rmdir($datei);
}

 
stekoe2000
17-05-2008, 18:01 
 
Original geschrieben von zerni

$fh = opendir("path/to/your/file/";
while($datei = readdir($fh)){
if(filetype($datei) == 'file') unlink($datei);
elseif(filetype($datei) == 'dir') rmdir($datei);
}

Du bist göttlich! Danke, funzt :D

 
zerni
17-05-2008, 19:44 
 
ich weiss, danke

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:29 Uhr.