Проблема с созданием превью изображений в IE. В Mozilla Firefox все работает без траблем. Нужен хелп по устранению баги. При загрузке изобржения, оно сейвится в /images/ Из загруженого изображения создается превью изображение. Имена файлов сохраняются в бд. В Фаерфоксе Все работает без проблем В ИЕ изображение загружается в /images/ и дальше дело не идёт. PHP: <?php #error_reporting(0); include_once("config.php"); $id = $_POST['id']; $id = intval($id); function makepic($fileinfo,$wwwdir) { $allowed = array ('gif','png','jpg'); $filename = trim($fileinfo['name'], "\x00..\x1F"); $tmpname = explode('.',$filename); $extension = $tmpname[count($tmpname)-1]; $allowed = in_array($extension,$allowed) ? true : false ; if ($allowed) { if (extension_loaded('gd')) { list($width, $height) = getimagesize($fileinfo['tmp_name']); $gdinfo = gd_info(); $image = imagecreatetruecolor($width, $height); if ($extension == 'gif' && $gdinfo['GIF Create Support'] ) { $nimage = imagecreatefromgif($fileinfo['tmp_name']); imagecopyresampled($image, $nimage, 0, 0, 0, 0, $width, $height, $width, $height); if (!imagegif($image, $wwwdir.$fileinfo['name'], 80)) { return false; } } if ($extension == 'jpg' and $gdinfo['JPG Support'] ) { $nimage = imagecreatefromjpeg($fileinfo['tmp_name']); imagecopyresampled($image, $nimage, 0, 0, 0, 0, $width, $height, $width, $height); if (!imagejpeg($image, $wwwdir.$fileinfo['name'], 80)) { return false; } } if ($extension == 'png' && $gdinfo['PNG Support'] == 1 ) { $nimage = imagecreatefrompng($fileinfo['tmp_name']); imagecopyresampled($image, $nimage, 0, 0, 0, 0, $width, $height, $width, $height); if (!imagepng($image, $wwwdir.$fileinfo['name'], 80)) { return false; } } return true; } else { return true; } } else { return false; } } if (!empty($_FILES)) { if (makepic($_FILES['userfile'],"$uploaddir")) { $id == '1'; list($mus, $typer) = explode("/",$_FILES['userfile']['type']); if ($typer =="jpeg" || $typer == "pjpeg" || $typer == "jpg") {$ras = "jpg";} if ($typer == "gif" ) {$ras = "gif";} rename($uploaddir.$_FILES['userfile']['name'],$uploaddir.$id.".".$ras); $new_name = $id.".".$ras; if ($typer=="jpeg" OR $typer=="jpg" OR $typer=="JPEG" OR $typer=="JPG") {thumb_jpeg($new_name); $image=$new_name; $thumbs="tmb_$image"; $Link = mysql_connect ($Host, $User, $Password); $Query = "UPDATE $TableName SET image='$image', thumbs='$thumbs' where id='$id'"; $Result = mysql_db_query ($DBName, $Query, $Link); mysql_close ($Link); #echo "<html><head><meta http-equiv=\"refresh\" content=\"3; url=index.php\"></head><body></body></html>"; chmod ("images/$image",0775);}else{ if($typer=="gif" OR $typer=="GIF") {thumb_gif($new_name); $image=$new_name; $thumbs="tmb_".$image; chmod ("thumbs/$thumbs",0775); $Link = mysql_connect ($Host, $User, $Password); $Query = "UPDATE $TableName SET image='$image', thumbs='$thumbs' where id='$id'"; $Result = mysql_db_query ($DBName, $Query, $Link); mysql_close ($Link); #echo "<html><head><meta http-equiv=\"refresh\" content=\"3; url=index.php\"></head><body></body></html>"; } else { #print "<html><head><meta http-equiv=\"refresh\" content=\"0; url=index.php\"></head><body></body></html>"; } } } else{ #echo "<html><head><meta http-equiv=\"refresh\" content=\"0; url=index.php\"></head><body></body></html>"; } } function thumb_jpeg($image_name) { // f - имя файла // type - способ масштабирования // q - качество сжатия // src - исходное изображение // dest - результирующее изображение // w - ширниа изображения // ratio - коэффициент пропорциональности // str - текстовая строка if (!isset($q)) $q = 75; $w = 150; // создаём исходное изображение на основе исходного файла и опеределяем его размеры $src = imagecreatefromjpeg("images/$image_name"); $w_src = imagesx($src); $h_src = imagesy($src); // вычисление пропорций $ratio = $w_src/$w; $w_dest = round($w_src/$ratio); $h_dest = round($h_src/$ratio); // создаём пустую картинку $dest = imagecreatetruecolor($w_dest,$h_dest); imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src); $dest = imagecreatetruecolor($w,$w); // вырезаем квадратную серединку по x, если фото горизонтальное if ($w_src>$h_src) imagecopyresampled($dest, $src, 0, 0,round((max($w_src,$h_src)-min($w_src,$h_src))/2),0, $w, $w, min($w_src,$h_src), min($w_src,$h_src)); // вырезаем квадратную верхушку по y,если фото вертикальное (хотя можно тоже серединку) if ($w_src<$h_src) imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w,min($w_src,$h_src), min($w_src,$h_src)); // квадратная картинка масштабируется без вырезок if ($w_src==$h_src) imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src); // вывод картинки и очистка памяти ImageJPEG($dest,"thumbs/tmb_".$image_name,$q); imagedestroy($dest); imagedestroy($src); } function thumb_gif($image_name) { // q - качество сжатия // src - исходное изображение // dest - результирующее изображение // w - ширниа изображения // ratio - коэффициент пропорциональности // str - текстовая строка if (!isset($q)) $q = 75; $w = 150; // создаём исходное изображение на основе исходного файла и опеределяем его размеры $src = imagecreatefromgif("images/$image_name"); $w_src = imagesx($src); $h_src = imagesy($src); // вычисление пропорций $ratio = $w_src/$w; $w_dest = round($w_src/$ratio); $h_dest = round($h_src/$ratio); // создаём пустую картинку $dest = imagecreatetruecolor($w_dest,$h_dest); imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src); $dest = imagecreatetruecolor($w,$w); // вырезаем квадратную серединку по x, если фото горизонтальное if ($w_src>$h_src) imagecopyresampled($dest, $src, 0, 0,round((max($w_src,$h_src)-min($w_src,$h_src))/2),0, $w, $w, min($w_src,$h_src), min($w_src,$h_src)); // вырезаем квадратную верхушку по y,если фото вертикальное (хотя можно тоже серединку) if ($w_src<$h_src) imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w,min($w_src,$h_src), min($w_src,$h_src)); // квадратная картинка масштабируется без вырезок if ($w_src==$h_src) imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src); // вывод картинки и очистка памяти imagegif($dest,"thumbs/tmb_".$image_name,$q); imagedestroy($dest); imagedestroy($src); } ?>
[x26]VOLAND, да всё верно... MySQL допускает такое написание, а между кавычек он вставляет значения переменных...