Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

is_file()

0 views
Skip to first unread message

Dennis Munding

unread,
Nov 24, 2009, 7:50:12 PM11/24/09
to
Hej NG!

Jeg er st�dt ind i et problem med is_file().

Situation:
Hjemmeside med medlemmer.
Mappe med billeder af medlemmerne.

Hvis ikke der er et billede af medlemmet, inds�ttes et
"billede-mangler"-billede.
Men indtil nu har jeg v�ret n�dt til at lave en kopi af sidstn�vnte og
uploade det hver gang, der kommer et nyt medlem uden billede.
Det er jo ikke holdbart i l�ngden!

S� slog det mig, at jeg kunne bruge is_file() - troede jeg. For jeg kan ikke
f� det til at virke!??

Der hentes data om medlemmet fra db, s� billede-navnet er lig med
medlemsnavnet:

$img = $name;
$stand-in = "dummy";

is_file($img) {
echo "<img src='mappe/$img.jpg'>";
} else {
echo "<img src='mappe/$stand-in.jpg'>";
}

Af en eller anden grund, kan jeg ikke f� det til at virke...

Nogen ideer?


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye - Member of the PosseGrim Squad
http://pgsquad.com/
"When you hear the wind - you're already dead..."

Stig Johansen

unread,
Nov 24, 2009, 7:59:35 PM11/24/09
to
Dennis Munding wrote:

> Nogen ideer?

Jeg ville s�tte billedenavn='mangler' i databasen ved oprettelse af et
medlem.

N�r man s� uploader billedet, kan man opdatere databasen med det rigtige
billede.

Dvs. styre det via databasen i stedet for filniveau.

--
Med venlig hilsen
Stig Johansen

Dennis Munding

unread,
Nov 24, 2009, 9:35:03 PM11/24/09
to
Hej Stig!
Stig Johansen skrev...

>> Nogen ideer?
>
> Jeg ville s�tte billedenavn='mangler' i databasen ved oprettelse af et
> medlem.
>
> N�r man s� uploader billedet, kan man opdatere databasen med det rigtige
> billede.
>
> Dvs. styre det via databasen i stedet for filniveau.

Hmm...
Ikke en d�rlig id�, selv om det vil kr�ve lidt omstrukturering.

Det vil jeg kigge lidt p�. :-)

Tak for indsparket.

Stig Johansen

unread,
Nov 25, 2009, 12:51:06 AM11/25/09
to
Dennis Munding wrote:

> Hmm...
> Ikke en d�rlig id�, selv om det vil kr�ve lidt omstrukturering.

Det er vel ikke andet end at have et felt p� medlemmet f.eks
imagepath varchar (255), og udfylde det med
mappe/stand-in.jpg
og s� opdatere det i upload funktionen med
mappe/fil.navn.fra.upload

S� f�r du samme navn p� serveren som det navne brugeren har p� sin PC.

Peter Farsinsen

unread,
Nov 25, 2009, 3:31:22 AM11/25/09
to
Dennis Munding wrote:
> Der hentes data om medlemmet fra db, s� billede-navnet er lig med
> medlemsnavnet:
>
> $img = $name;
> $stand-in = "dummy";
>
> is_file($img) {
> echo "<img src='mappe/$img.jpg'>";
> } else {
> echo "<img src='mappe/$stand-in.jpg'>";
> }
>
> Af en eller anden grund, kan jeg ikke f� det til at virke...
>
> Nogen ideer?

Ja, du mangler starten af din if-konstruktion og at konkatenere '.jpg'
p� dit argument til is_file();

if(is_file($img.'.jpg')) {
...
} else {
...
}

--
Peter Farsinsen
for...@efternavn.dk

scootergrisen

unread,
Nov 25, 2009, 5:45:47 AM11/25/09
to
is_file fortæller om det er en almindelig fil fremfor en mappe. Den
fortæller altså ikke om filen findes.
http://php.net/manual/en/function.is-file.php

jeg tror du leder efter :

file_exists()

den fortæller om filen findes.

http://php.net/manual/en/function.file-exists.php

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>

Du kunne også vælge at lave din kode sådan at der som standard peges
på "billedmangler.jpg" indtil folk uploader et billed.

Da jeg downloadet PHP 5 så fulgte der en rigtig god PHP 5 hjælpe
manual med, den er rigtig god så prøv lige og check om du ikke har
den. på min puter ligger den under START > PROGRAMMER > PHP 5.

Ellers brug http://www.php.net/

Peter Farsinsen

unread,
Nov 25, 2009, 6:16:55 AM11/25/09
to
scootergrisen wrote:
> is_file fort�ller om det er en almindelig fil fremfor en mappe. Den
> fort�ller alts� ikke om filen findes.
> http://php.net/manual/en/function.is-file.php

Det er faktisk ikke korrekt:

Returns TRUE if the filename exists and is a regular file, FALSE otherwise.

file_exists() er ogs� et godt bud, men s� har man ingen garanti for, at
det er en fil og ikke et bibliotek.

--
Peter Farsinsen
for...@efternavn.dk

Leif Neland

unread,
Nov 25, 2009, 4:39:31 PM11/25/09
to
Dennis Munding skrev:

> Hej NG!
>
> Jeg er st�dt ind i et problem med is_file().
>

>

> $img = $name;
> $stand-in = "dummy";
>
> is_file($img) {
> echo "<img src='mappe/$img.jpg'>";
> } else {
> echo "<img src='mappe/$stand-in.jpg'>";
> }
>
> Af en eller anden grund, kan jeg ikke f� det til at virke...
>

Du leder efter "hans", hvis det findes, vil du vise "mappe/hans.jpg"
Det h�nger jo ikke sammen :-)

Du skal nok kigge efter den fil, du vil vise...

Og is_file() ser efter filer i filsystemet, mens <img...> er i
"web-systemet"

F.ex. is_file("/usr/bruger1/www/mappe/hans.jpg") svarer til
"http://www.mundig.dk/mappe/hans.jpg"

Husk at tage h�jde for det.

Leif

Dennis Munding

unread,
Nov 25, 2009, 10:05:36 PM11/25/09
to
Hej Leif!
Leif Neland skrev...

>> $img = $name;
>> $stand-in = "dummy";
>>
>> is_file($img) {
>> echo "<img src='mappe/$img.jpg'>";
>> } else {
>> echo "<img src='mappe/$stand-in.jpg'>";
>> }
>
>
> Du leder efter "hans", hvis det findes, vil du vise "mappe/hans.jpg"
> Det h�nger jo ikke sammen :-)

Det har du ret i... :-)
Hvilket - udover at jeg manglede den vigtige detalje at skrive if foran -
osse var mit problem - viste det sig.

> Du skal nok kigge efter den fil, du vil vise...
>
> Og is_file() ser efter filer i filsystemet, mens <img...> er i
> "web-systemet"
>
> F.ex. is_file("/usr/bruger1/www/mappe/hans.jpg") svarer til
> "http://www.mundig.dk/mappe/hans.jpg"

Det var bl.a. stien, det var galt med.
Jeg havde skrevet (da jeg havde rettet efter Peter Farsinsens indl�g):

if(is_file("/sti/til/fil/".$img.".jpg)) {
......

Det viste sig, at den f�rste / skulle fjernes.

Nu spiller klaveret! :-)

Tusind tak til alle for jeres indspark! :-)

0 new messages