Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 14:55 Der er 13 kommentarer og
1 løsning

Tjek om det er et billede?

Hej allesammen.

Har et spørgsmål.

Jeg skal bruge en kode som tjekker om $test er et billede.

PRobblemet ligger i at den indeholder en url til et billede den skal gemme, men nogen af dem sender "roboten" videre til en anden side(ikke et billede).

Noget af koden:
    $size = getimagesize($test);
    $x = $size[0];
    $y = $size[1];
    $ny_x = 500;
    $f = $x/$ny_x;
    $ny_y = $y/$f;
    $dst_img=ImageCreateTrueColor($ny_x, $ny_y);

Den skal altså tjekke om det er et billede, inden den åbner. Man kan ikke bare tjekke urlen, det er prøvet.

Kender i en god kode til det?

Håber i forstår mit spm, ellers spørg :D.

På forhånd tak.
Avatar billede stingbat Nybegynder
03. marts 2006 - 14:59 #1
Prøv (ikke testet):

if (($size = @getimagesize($test)) !== FALSE) {
  // billede
  $x = $size[0];
  $y = $size[1];
  $ny_x = 500;
  $f = $x/$ny_x;
  $ny_y = $y/$f;
  $dst_img=ImageCreateTrueColor($ny_x, $ny_y);
} else {
  // ikke billede
}
Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 15:02 #2
det virker desværre ikke.

Den mener også at "rigtige" billeder hellere ikke er et billede.
Avatar billede coderdk Praktikant
03. marts 2006 - 15:18 #3
stingbat's kode burde nu virke
Avatar billede stingbat Nybegynder
03. marts 2006 - 15:23 #4
Har lige testet det nu for en sikkerhedsskyld - virker fint her :)

Prøv evt. lige at fjerne @ foran getimagesize, mens du tester. Kan være at der fremkommer en fejl hos dig. Har den blot med, for ikke at få unødige fejl, i tilfælde, at der ikke er tale om et billede (da getimagesize ellers laver normalt en WARNING).
Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 15:24 #5
Det gør den ikke.

$test indeholder eks. http://personales.ya.com/pawstick/psp-dev_launcher.jpg
Når jeg så åbner billeder er vil nogen sider videre sende til eks www.enside.dk, fordi man ikke skal lege med billedet.

Det også fair, men min kode går ned så skal finde en måde at frasortere dem.
Avatar billede coderdk Praktikant
03. marts 2006 - 15:33 #6
<?php

    $test = 'http://personales.ya.com/pawstick/psp-dev_launcher.jpg';
    if (($size = @getimagesize($test)) !== FALSE)
    {
        echo "Virker!";
    }
    else
    {
        echo "Desværre!";
    }
?>

Skriver "Virker!" ;) Så jo, det virker!
Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 15:38 #7
Det virker desværre ikke ved mig.. Vil du have det rigtige link ? Så kan du se det ikke virker !
Avatar billede coderdk Praktikant
03. marts 2006 - 15:39 #8
Måske har din host disablet fopen wrappers
Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 15:40 #9
Det tror jeg ikke. Det er webglobe.
Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 15:44 #10
Du har ret.. Det virker. :D
Det er koden du lige har vist..

Men min egen virker ikke helt.. Må lige kigge på den.
Avatar billede stingbat Nybegynder
03. marts 2006 - 16:05 #11
Prøv evt. lige at lave en:
echo $test;

lige for at se hvad der konkret står :) Bare for at checke at linket ikke lige er "ændret" på nogen måde :)
Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 16:09 #12
hehe Ja det var lige hvad jeg gjorde, og fandt fejlen lå ved mig :D ..

Svar så pointsne dine.
Avatar billede stingbat Nybegynder
03. marts 2006 - 16:26 #13
Det kan jo ske :) Men altid noget at fejlen blev fundet!

Håber at du ku' bruge koden.
Avatar billede rasmus-madsen Nybegynder
03. marts 2006 - 17:48 #14
Ja tusind tak :D
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