Hej!
Jag har problem med ett script som laddar upp bilder.
När jag försöker ladda upp jpg samt gif så får jag error. Har testat många olika sätt men får inte till det.
Såhär ser koden ut idag:
// Only one of these image types should be allowed for upload
$allowed_image_types = array('image/pjpeg'=>"jpg",'image/jpeg'=>"jpg",'image/JPEG'=>"jpg",'image/jpg'=>"jpg",'image/JPG'=>"jpg",'image/png'=>"png",'image/PNG'=>"png",'image/x-png'=>"png",'image/gif'=>"gif",'image/jpeg'=>"jpeg",'image/JPEG'=>"JPEG");
$allowed_image_ext = array_unique($allowed_image_types); // do not change this
$image_ext = ""; // initialise variable, do not change this.
foreach ($allowed_image_ext as $mime_type => $ext) {
$image_ext.= strtoupper($ext)." ";
}
Lite längre ner i koden:
foreach ($allowed_image_types as $mime_type => $ext) {
//loop through the specified image types and if they match the extension then break out
//everything is ok so go and check file size
if($file_ext==$ext && $userfile_type==$mime_type){
$error = "";
break;
}else{
$error = "Endast <strong>".$image_ext."</strong> format kan laddas upp<br />";
}
Någon som vet vad jag gjort för fel?
Tack på förhand!
metalboyMedlem sedan jan. 2005953 inlägg Vad får du för felmeddelande?
Hur får $file_ext och $userfile_type sina värden?
Fungerar det med jpg och png?
$userfile_type = $_FILES['image']['type'];
$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
Den säger att att formatet är fel.
PNG, JPEG fungerar bra...
metalboyMedlem sedan jan. 2005953 inlägg Hmm... gif fungerar bra för mig. Däremot inte jpg-filer, vilket beror på att värdet på $allowed_image_types['image/jpeg'] skrivs över.
metalboy skrev:
Hmm... gif fungerar bra för mig. Däremot inte jpg-filer, vilket beror på att värdet på $allowed_image_types['image/jpeg'] skrivs över.
Okej, hur menar du med att de skrivs över? hur rättar jag till de? :)
metalboyMedlem sedan jan. 2005953 inlägg Du har 'image/jpeg'=>"jpg" och lite senare på raden skriver du över det värdet med 'image/jpeg'=>"jpeg"
metalboy skrev:
Du har 'image/jpeg'=>"jpg" och lite senare på raden skriver du över det värdet med 'image/jpeg'=>"jpeg"
Okej. Så här har jag gjort nu:
$allowed_image_types = array('image/pjpeg'=>"jpg",'image/jpeg'=>"jpg",'image/jpg'=>"jpg",'image/png'=>"png",'image/x-png'=>"png",'image/gif'=>"gif");
Problemet är att det inte fungerar att ladda upp jpeg och även JPG ibland.
Hur hade du skrivit för att få det att fungera?
Tack på förhand!