Преобразование и сохранение загруженного изображения в PHP?

У меня есть следующий код …

$current_full_path = realpath(dirname(__FILE__) . '/..');
$user_profile_picture_filename = $current_full_path . "/profile_pictures/" . $userid . ".jpg";

$user_profile_picture_submit = $_POST['user_profile_picture_submit'];

if (isset ($user_profile_picture_submit)) {

$user_profile_image = $_FILES['user_profile_image']['name'];
$temp_profile_picture = $_FILES['user_profile_image']['tmp_name'];

$profile_picture_extension_array = explode( ".", $user_profile_image);
$profile_picture_extension_case_insensitive = end($profile_picture_extension_array);
$profile_picture_extension = strtolower($profile_picture_extension_case_insensitive);

if ($profile_picture_extension == "png") {

$temp_profile_picture_converted = imagecreatefrompng($temp_profile_picture);

} elseif ($profile_picture_extension == "bmp") {

$temp_profile_picture_converted = imagecreatefromwbmp($temp_profile_picture);

} elseif ($profile_picture_extension == "gif") {

$temp_profile_picture_converted = imagecreatefromgif($temp_profile_picture);

} elseif (($profile_picture_extension == "jpg") || ($profile_picture_extension == "jpeg")) {

$temp_profile_picture_converted = imagecreatefromjpeg($temp_profile_picture);

}

imagejpeg($temp_profile_picture_converted, $user_profile_picture_filename, '75');
imagedestroy($temp_profile_picture_converted);


}

Я пытаюсь получить загруженную картинку, получить расширение, проверить, какое расширение у него есть, затем, основываясь на расширении, преобразовать его в jpeg с помощью PHP, а затем сохранить как userid.jpg в «/ bar / «каталог. Однако ничего не сохраняется.

0

Решение

Я получил решение конвертировать и сохранить изображение с помощью php. Вы можете следовать этому
http://www.kingpabel.com/php-image-resize/

0

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

PHP < 5,3

$fullpath = dirname(__FILE__);

PHP> = 5.3

$fullpath = __DIR__;

Посмотри на предопределенные константы

0

Это более надежно для получения типа файла.

Как только вы получите необработанное изображение, преобразуйте его и сохраните.

Получить Загрузить:

if( is_uploaded_file($_FILES['image1']['tmp_name']) || !($_FILES['image1']['error'] !== UPLOAD_ERR_OK)){
$save = false;

Найти тип:

  switch(strtolower($_FILES['image1']['type'])){
case 'image/jpeg':
$image = @imagecreatefromjpeg($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
case 'image/png':
$image = @imagecreatefrompng($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
case 'image/gif':
$image = @imagecreatefromgif($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
default:
$img = getimagesize($_FILES['image1']['tmp_name']);
switch(strtolower($img['mime'])){
case 'image/jpeg':
$image = imagecreatefromjpeg($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
case 'image/png':
$image = imagecreatefrompng($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
case 'image/gif':
$image = imagecreatefromgif($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
default:
$filename = $_FILES['image1']['name'];
$ext = substr($filename,-3);
switch(strtolower($ext)){
case 'jpg':
$image = imagecreatefromjpeg($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
case 'gif':
$image = imagecreatefromgif($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
case 'png':
$image = imagecreatefrompng($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
default:
$image = imagecreatefromjpeg($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
$image = imagecreatefrompng($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
$image = imagecreatefromgif($_FILES['image1']['tmp_name']);
if ($image !== false){$save = true;break;}
}
}
}
}

Преобразовать изображение в JPG:

 if ($save === true){
ob_start();
imagejpeg($image, NULL, 70);
$jpg = ob_get_clean();

Сохранить:

куда $user это идентификатор пользователя.

   $fp = fopen("/home/user/public_html/bar/$user.jpg",'w');
fwrite($fp,$jpg);
fclose($fp);
}

}

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