Есть ли разница между .JPG и .jpg?

ниже код генерирует миниатюру и создает сжатое изображение и загружает изображение.

if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];          //3

define ("MAX_SIZE","400");
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

$errors=0;

if($_SERVER["REQUEST_METHOD"] == "POST") {
$image =$_FILES["file"]["name"];
$uploadedfile = $_FILES['file']['tmp_name'];

if ($image) {
$filename = stripslashes($_FILES['file']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);

if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {
$change='<div class="msgdiv">Unknown Image extension </div> ';
$errors=1;
} else {
$size=filesize($_FILES['file']['tmp_name']);

if ($size > MAX_SIZE*1024) {
$change='<div class="msgdiv">You have exceeded the size limit!</div> ';
$errors=1;
}if($extension=="jpg" || $extension=="jpeg" ) {
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);
} else if($extension=="png") {
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefrompng($uploadedfile);
} else {
$src = imagecreatefromgif($uploadedfile);
}
echo $scr;
list($width,$height)=getimagesize($uploadedfile);

$newwidth=600;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);

$newwidth1=125;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);

$file_name = date('d') . date('M') . $_FILES['file']['name'];
$filename = "upload/gallery/". $file_name;
$filename1 = "upload/thumb/". $file_name;

imagejpeg($tmp,$filename,100);
imagejpeg($tmp1,$filename1,100);
imagedestroy($src);
imagedestroy($tmp);
imagedestroy($tmp1);
}
}
}
}

Результатом является некоторый магазин изображений с расширением .JPG или некоторые из них с сохранением .jpg
Но основная проблема заключается в том, что файлы с расширениями в верхнем регистре (особенно .JPG) не открываются и не распознаются в фотоальбоме Windows Live. Файлы .jpg работают как положено. Что может быть причиной этой проблемы?

1

Решение

Вы ниже прописываете расширение перед всем тестом для правильного типа расширения и т. Д., Но когда вы приходите, чтобы сохранить файл, вы используете то, что находится в сыром $_FILES['file']['name']

$file_name = date('d') . date('M') . $_FILES['file']['name'];

Так что сделайте strtolower для необработанного имени файла перед сохранением файла

$file_name = date('d') . date('M') . strtolower($_FILES['file']['name']);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]