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..."
> 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
Hmm...
Ikke en d�rlig id�, selv om det vil kr�ve lidt omstrukturering.
Det vil jeg kigge lidt p�. :-)
Tak for indsparket.
> 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.
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
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/
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
>
> $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
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! :-)