Fejl ved getimagesize

Tags:    php

Jeg stødte ind i et problem, da jeg skulel lave et slags plugboard, hvor brugeren kan tilføje sit button.
Da jeg gerne ville tjekke om buttonet havde den rigtige størrelse brugte jeg getimagesize() funktionen.
Problemet kom så bare, hvis det button brugeren tilføjer ikke findes. Så kommer en "Waring", hvor dne siger at åbningen gav fejl. Derfor ville jeg først tjekke om filen/billedet overhovedet eksistere.
Jeg tænkte, at jeg kunne bruge file_exists() til at finde ud af om den eksistere. Men så vidt jeg ved, kan file_exists ikke tjekke om en URL adresse men kun et sti, som tager udgangspunkt i domænet.
Jeg vil altså spørge, om nogen kender til en anden file_exists funktion, hvor man kan tjekke om en URL eksistere. Eller om man kan gøre sådan, at getimagesize ikke retunere en waring, hvis der opstod en fejl ved åbningen. Jeg vil helst ikke fjerne fejlmeddelserne generelt i php.ini filen, da jeg bruger dem meget til at finde fejlen.

Her kommer lige dne kode jeg brugte:

Fold kodeboks ind/udKode 




7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg mener ikke at man kan bruge getimagesize på .gif billeder, jeg mener kun at det er på jpg/jpeg og png man kan bruge det..


Fra php.net
The getimagesize() function will determine the size of any GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP


Fandt det her eksempel der viser om en url er gyldig eller ej. Har ikke testet det så ved ikke om det virker som det skal


Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 20.06.2006 08:12 af Bruger #3275
Jeg mener ikke at man kan bruge getimagesize på .gif billeder, jeg mener kun at det er på jpg/jpeg og png man kan bruge det..



Hvis du putter et @ foran kommandoer, vises fejl ikke.



file_exists fungerer ganske udemærket med http- og ftp-adresser - hvis altså du bruger php5!

Du bør desuden nok flytte din if(!file_exists) op til før du bruger getimagesize :)

Bruger du ikke php5, må du nok prøve at køre et http-kald for at hente filen, og tjekke om der bliver returneret en fejl-meddelelse.. eller evt. eksperimenter med fopen?



Hvis du putter et @ foran kommandoer, vises fejl ikke.


Tak, det var lige det jeg manglede !



file_exists fungerer ganske udemærket med http- og ftp-adresser - hvis altså du bruger php5!

Du bør desuden nok flytte din if(!file_exists) op til før du bruger getimagesize :)

Bruger du ikke php5, må du nok prøve at køre et http-kald for at hente filen, og tjekke om der bliver returneret en fejl-meddelelse.. eller evt. eksperimenter med fopen?


Ja, syntes godt det stod der. Prøver at sætte php 5 til, og ser om resten af min side så virker. Til dte i midten, ja havde selv tænkt på det.
Men igen. fopen, der kan man da heller ikke åbne en URL. Da jeg skulle bruge det, virkede det i hvert fald ikke, hvis jeg brugte URL'en.



Da man godt skulle kunne bruge http:// med file_exists, ændrede jeg det til PHP 5. Men så fik jeg et problem med en anden del af min hjemmeside, som ikke gad at virke der:

[code]$result = mysql_query("SELECT id FROM $table ORDER BY id DESC LIMIT $max");
while($this = mysql_fetch_array($result)) { $list[] = $this[id]; }
$maxID = $max - 1;
mysql_query("DELETE FROM $table WHERE id < '$list[$maxID]'");[code]

Kan man gøre det samme bare på en anden måde ?



t