mboost-dp1
PHP: file_exists
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Ok, jeg sidder og fatter totalt hat, så jeg håber at der er en eller anden der kan forklare mig hvad der foregår.
Jeg har filen "hjelpfranewzgutterne.php" i mit web-dir.
Virker...
Når jeg har denne linje: $filename = "$new2.php"; så udskriver den teksten "Det virker hjelpfranewzgutterne.php".
Så langt så godt. Det må jo betyde at $filename er korrekt, og at file_exists kan finde filen hjelpfranewzgutterne.php på disken.
Problemet...
Når jeg har denne linje: $filename = "$new1.php"; så udskriver den teksten "hjelpfranewzgutterne.php".
Hvilket jeg ikke kan se det logiske i. Tekststrengen er korrekt, hvilket må betyde at $filename er iorden. Hvorfor er det så lige at file_exists ikke kan finde filen på disken, når den kunne i det ovenståendne eksempel, med den samme tekststreng?
Den eneste forskel er at new1 er smidt i enden af index.php (*1), mens new2 er en fast tekststreng.
Min første tanke var at jeg havde fucket det op, da jeg læste strengen, men så burde den jo ikke kunne udskrive den korrekte streng, så den mulighed er vel ikke-eksisterende?
*1 = http://mitdomæse.tld/index.php?hjelpfranewzgutterne
$new1 = $PHP_SELF." \n ".$_SERVER['QUERY_STRING'];
$new2 = "hjelpfranewzgutterne";
$filename = "$newX.php";
if (file_exists("$filename")) {
echo "Det virker $filename";
}else{
echo $filename;
}
Jeg har filen "hjelpfranewzgutterne.php" i mit web-dir.
Virker...
Når jeg har denne linje: $filename = "$new2.php"; så udskriver den teksten "Det virker hjelpfranewzgutterne.php".
Så langt så godt. Det må jo betyde at $filename er korrekt, og at file_exists kan finde filen hjelpfranewzgutterne.php på disken.
Problemet...
Når jeg har denne linje: $filename = "$new1.php"; så udskriver den teksten "hjelpfranewzgutterne.php".
Hvilket jeg ikke kan se det logiske i. Tekststrengen er korrekt, hvilket må betyde at $filename er iorden. Hvorfor er det så lige at file_exists ikke kan finde filen på disken, når den kunne i det ovenståendne eksempel, med den samme tekststreng?
Den eneste forskel er at new1 er smidt i enden af index.php (*1), mens new2 er en fast tekststreng.
Min første tanke var at jeg havde fucket det op, da jeg læste strengen, men så burde den jo ikke kunne udskrive den korrekte streng, så den mulighed er vel ikke-eksisterende?
*1 = http://mitdomæse.tld/index.php?hjelpfranewzgutterne
#1 BurningShadow:
Der er vel heller ingen grund til, at $PHP_SELF indgår som en del af din streng. Det er vist noget med, at variablen ikke bruges i de seneste versioner af PHP*, men hvis den faktisk havde en værdi, så ville din funktion da altid fejle (medmindre du faktisk havde en fil, der hed (filnavn).php(værdien af din querystring).php).
*) Hvad ved jeg, jeg har aldrig kodet PHP.
Der er vel heller ingen grund til, at $PHP_SELF indgår som en del af din streng. Det er vist noget med, at variablen ikke bruges i de seneste versioner af PHP*, men hvis den faktisk havde en værdi, så ville din funktion da altid fejle (medmindre du faktisk havde en fil, der hed (filnavn).php(værdien af din querystring).php).
*) Hvad ved jeg, jeg har aldrig kodet PHP.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.