Avatar billede wicked Juniormester
16. marts 2009 - 09:04 Der er 3 kommentarer og
2 løsninger

file_exists() Kan ikke finde fil i mappe?

Hey eksperter

Jeg har snart brugt 2 dage på dette problem og jeg er ved at blive sindsyg. Jeg har lavet nogen forskellige php script og i et af dem har jeg brug for at checke om den gælden fil eksistere på en given placering. Min kode ser således ud lige pt.

$filename = "\brugerbilleder\test.jpg";

if (file_exists($filename)) {

echo "Billedet findes

}

Jeg ved med sikkerhed at filen ligger på din placering, men den bliver ikke fundet. Hvis jeg så flytter filen så den ligger i samme mappe som det stykke kode gør og ændrer lidt i koden så den ser sådan ud:

$filename = "test.jpg";

if (file_exists($filename)) {

echo "Billedet findes

}

Så er der ingen problemer, filen bliver fundet og kommandoen bliver kørt. Jeg ved ikke om det kan være noget i min php.ini fil der skal ændres ? Jeg er helt lost på det her, synes jeg har prøvet alt, håber nogen kan hjælpe :)
Avatar billede wicked Juniormester
16. marts 2009 - 09:16 #1
arg det gik lidt stærkt der skal selvfølgelig stå

echo "Billedet findes";

//Wicked
Avatar billede showsource Seniormester
16. marts 2009 - 09:42 #2
$filename = "\brugerbilleder\test.jpg";

Du bruger \ som er et "escape-tegn"
D.v.s hvis du siger echo $filename får du rugerbillederest.jpg
Hvis du skal bruge \ skal det være med to,

$filename = "\\brugerbilleder\\test.jpg";

Men php vil kikke efter et dir, brugerbilleder, som ligger i rod af disk.

Så brug enten

$filename = "brugerbilleder\\test.jpg";
eller
$filename = "brugerbilleder/test.jpg";

D.v.s. brugerbilleder er et underdir til filen som tjekker.

Du kan evt. også bruge
$filename = $_SERVER["DOCUMENT_ROOT"]."/brugerbilleder/test.jpg";

Sidst, men ikke mindst, hvis du VED det skal være en fil, så brug is_file() i stedet for file_exists()
file_exists() returnerer også sand hvis det er et dir.
Avatar billede wicked Juniormester
16. marts 2009 - 10:16 #3
Jamen det er jo fantastisk! Tusind tak, det var lige det jeg skulle bruge kast et svar så skal du få dine velfortjente point :D
Avatar billede showsource Seniormester
16. marts 2009 - 11:38 #4
Ok,
men lav også selv et svar, og gi' dig selv langt de fleste af pointene !

Og husk på, i nogle php opsætninger kan file_exists() og is_file() godt returnere sand selvom det er en url, og ikke en fil på disken.
Avatar billede wicked Juniormester
16. marts 2009 - 12:13 #5
jamen okay så slår vi halv skade om det, men du skal ihvertfald have tusind tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester