php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.03.2006, 15:40  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard Unterschied: is_file() und file_exists()

Hi

hab mal eine Frage zum logischen Denken. Worin besteht der Unterschied von diesen beiden Funktionen? Hab mal gegoogelt und im Manual geschaut, kam aber nicht auf eine Antwort, welche mich befriedigen könnte.

Was ich raus bekam:

is_file() = Überprüfung, ob angegebener Pfad eine Datei ist (true/false)
file_exists() = Überprüfung, ob angegebene Datei existiert. (true/false)

ich seh keinen direkten brauchbaren Unterschied. Kann mir diesen wer erläutern? Wär nett, danke.

MFG
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.03.2006, 15:48  
Gast
 
Beiträge: n/a
Standard

Das ist für dich kein Unterschied?

Bitt mal nachdenken: Was passiert denn, wenn du einen Pfadnamen angibst, also keinen Dateinamen?

Gruß
phpfan
 
Alt 29.03.2006, 16:05  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

hmm, der Unterschied ist mir schon bekannt, aber was, wenn der Pfad "order/index.php" ist? Ist das dann egal was ich nehme? Ich meine, ein Ordner kanns ja nicht sein

Oder muss man sogar verschachteln?

PHP-Code:
<?php
if(file_exists($bla)) {
  if(
is_dir($bla)) {
    echo 
'Ist Ordner und net erlaubt';
  } elseif(
is_file($bla)) {
    echo 
"Erlaubt";
  }
}
?>
bei variablen Werten ist mir der Sinn schon klar, aber bei so statischen ist es doch an sich recht egal, welche Funktion ich nehme oder? (bin irgendwie die Woche weng aufm Schlauch, kommt von der Zeitumstellung :P)
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 29.03.2006, 16:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

file_exists() prüft auch Ordner auf dessen Existenz:

Beispiel (Ordner und Datei existieren jeweils bei mir auf der Platte):
PHP-Code:
<?php
$folder 
'C:/';
var_dump(file_exists($folder));
print 
'
'
;
var_dump(is_file($folder));
print 
'
'
;
var_dump(is_dir($folder));

print 
'
'
;
print 
'
'
;

$file 'C:/MSDOS.SYS';
var_dump(file_exists($file));
print 
'
'
;
var_dump(is_file($file));
print 
'
'
;
var_dump(is_dir($file));
?>
Ausgabe:
PHP-Code:
bool(true)
bool(false)
bool(true)

bool(true)
bool(true)
bool(false
Zergling-new ist offline  
Alt 29.03.2006, 16:40  
Gast
 
Beiträge: n/a
Standard Re: Unterschied: is_file() und file_exists()

Zitat:
Zitat von PsychoEagle
ich seh keinen direkten brauchbaren Unterschied.
Das kommt auf den Verwendungszweck an.
is_dir() und is_file() dienen dazu, die mit readdir() gelesenen Einträge zu unterscheiden.

file_exists() kann man verwenden, um zu prüfen ob eine Datei oder ein Verzeichnis existiert.

Viel wichtiger ist allerdings die Frage:
is_readable() u/o is_writable()

Um die gefundene Datei überhaupt zu benutzen, muß sie mindestens lesbar sein. file_exists() sagt nämlich nur: 'gefunden'.

Beachte dabei immer, daß Du wenigstens einen relativen Pfad mit angibst.

file_exists('name.ext') <- Das kann Ärger geben
file_exists('./name.ext'); <- das funktioniert.
file_exists('/absoluter/pfad/zum/file/name.ext'); das sogar noch besser.

Die Pfade beziehen sich auf das Filesystem und nicht auf das documentroot des Webservers.
 
 


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
Unterschied zwischen mail() und popen(/usr/sbin/sendmail)... DonTermi PHP Tipps 2007 8 27.03.2007 13:25
Unterschied <> und NOT LIKE PsychoEagle Datenbanken 6 08.08.2006 13:22
[Erledigt] Unterschied INT und TINYINT Datenbanken 4 27.09.2004 12:57
Praktischer Unterschied von include_once und require_once? PHP Tipps 2004 1 22.09.2004 09:45
include oder function verwenden was ist der unterschied? dazerglovic PHP Tipps 2004 1 02.09.2004 09:04
Unterschied zwischen 'mounted' und local? Stümper PHP Tipps 2004 5 31.08.2004 15:26
Unterschied zwischen Popup und Popdown? Kori Off-Topic Diskussionen 6 29.08.2004 14:38
Unterschied zwischen »AND« und »&&« tapferesschneiderlein PHP Tipps 2004 5 26.08.2004 10:48
[Erledigt] Unterschied zw. PHP4 und PHP5 PHP Tipps 2004 5 23.08.2004 08:42
Tag und Nacht Unterschied auf Homepage anzeigen??? PHP Tipps 2004 8 02.08.2004 21:39
Unterschied zwischen <strong> und <b> HTML, Usability und Barrierefreiheit 2 01.08.2004 18:31
Unterschied zwischen require() und include() PHP Tipps 2004 3 24.07.2004 19:09
Session unterschied? themonk PHP Tipps 2004 1 03.07.2004 13:10
unterschied zwischen include und require PHP Tipps 2004 5 02.07.2004 15:55
Unterschied von " und ' PHP Tipps 2004 1 14.06.2004 12:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
is_file file_exists, php is_file file_exists, file_exists absoluter pfad, file_exists vs is_file, file_exists is_file, is_file vs file_exists, php is_file vs file_exists, php file_exists absoluter pfad, php is_file, php file_exists is_file, is_file url, is_file, php file exists, php file_exists vs is_file, file_exists php absoluter pfad, unterschied is_file file_exists, is_file oder file_exists, php unterschied is_file file_exists, is_file php, php is_file url

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:28 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.