webForumDet fria alternativet

Plocka ut bredd och höjd ur en uppladdad bild?

PHP

6 svar · 361 visningar · startad av rincewind

Medlem sedan nov. 2003104 inlägg
Frågan#1

Hej,

är det möjligt, och i sådanafall hur, att när man har laddat upp en fil och sparat undan den i en katalog och sedan undersöka dess höjd och bredd?

Exempel:
-------------------------------
$uploadfile = "../images/news/$tmpID.jpg";
if (move_uploaded_file($_FILES['fileUpload']['tmp_name'], $uploadfile))
{
echo "File is valid, and was successfully uploaded. ";
// Här vill jag alltså sedan plocka ut bredd och höjd på dem
// $imageWidth=getImageWidth(); //
// $imageHeight=getImageHeight();

}
else
{
echo "Possible file upload attack! Here's some debugging info:";
}
-------------------------------

Någon som kan?
mvh
-- Rincewind

Medlem sedan juni 20006 031 inlägg
#2

Tror att det här funkar:

$storlek = getimagesize($_FILES['fileUpload']['tmp_name']);
echo "File is valid, and was successfully uploaded. Size ".$storlek[0]." * ".$storlek[1]." px\n";
Medlem sedan nov. 2003104 inlägg
#3

Läckert...
Går det att undersöka om det är en bild också? Dvs .jpg, .gif eller .png?

Mvh
-- Rincewind

Medlem sedan juni 20006 031 inlägg
#4

Javisst, men om man bara ska kunna ladda upp bilder så är det ju bäst att kolla det innan filen laddas upp.

// Check what kind of a file it is  
$filandelse = explode('.',$fileUpload['name']); 
$sort = count($filandelse) - 1; 
$so = $filandelse[$sort];
// Allowed filetypes
if (($so != 'gif') AND ($so != 'jpg') AND ($so != 'jpeg') AND ($so != 'png')){   
    // Wrong filetype! 
    die("<center>Wrong filetype, has to be jpg, jpeg, gif or png!<br>\n
    You tried to upload a $filandelse[$sort] file</center>");
}
Medlem sedan nov. 2003104 inlägg
#5

Perfekt!=)

Tackar tackar.
En liten snabb fråga till bara.
Hur tar jag bort filer mha php? På php.net står det föga lite om delete.

Tackar igen för att hjälp!!
-- Rincewind

Medlem sedan juni 20006 031 inlägg
#6

kolla in funktionen unlink()

Medlem sedan feb. 20001 861 inlägg
#7

Förvisso borde det räcka med att kolla filändelsen men villman vara übersäker på vad man tar emot kan man använda getimagesize för att kolla vad det är för filtyp.

$fil = $fileUpload['name']); 
$typ = getimagesize($fil);
$mime = $typ['mime']

if (($mime != 'image/gif') && ($mime != 'image/jpeg') && ($mime != 'image/png')) {  
echo "Du får inte ladda upp $mime!!";
break;
}
267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)