2015-05-26 2 views
0

У меня возникла следующая проблема: я загружаю изображение, которое сильно варьируется в зависимости от высоты и ширины устройства (изображение загружается с мобильного устройства). Мне нужно изменить размер изображения, переименовать его и загрузить его на свой сервер. Я сделал следующую строку кода и получить следующую ошибку:изменить размер изображения и придумать php

 $nombre_archivo = $_FILES['file']['tmp_name']; 
     $porcentaje = 0.5; 

     // Tipo de contenido 
     header('Content-Type: image/jpeg'); 

     // Obtener nuevas dimensiones 
     list($ancho, $alto) = getimagesize($nombre_archivo); 
     $nuevo_ancho = $ancho * $porcentaje; 
     $nuevo_alto = $alto * $porcentaje; 

     // Redimensionar 
     $imagen_p = imagecreatetruecolor($nuevo_ancho, $nuevo_alto); 
     $imagen = imagecreatefromjpeg($nombre_archivo); 
     imagecopyresampled($imagen_p, $imagen, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto); 
     if(move_uploaded_file ($imagen_p , $destino)){ 

     } 

Ошибка: move_uploaded_file() expects parameter 1 to be string, resource given

Я искал какие-то решения, но мне не удалось добиться этого.

+0

точно так же, как ошибка говорит. move() требует STRING (например, имена файлов источника/назначения). Вам предоставляется дескриптор GD ... В вашем случае вам не нужно перемещать ** AT ALL **, так как ваше повторно выбранное изображение НЕ является исходным загруженным файлом. вы просто хотите 'imagejpeg ($ imagen_p, $ destino)' –

+0

@MarcB Man, абсолютно правильно, вы можете оставить его в ответ, чтобы отметить его как правильно. Спасибо !!! – NHTorres

ответ

1

Точно так же, как ошибка говорит: move_uploaded_file() требует STRING (например, имена файлов источника/назначения). Вам предоставляется дескриптор GD ... В вашем случае вы не хотите перемещать ВСЕ, так как ваше повторно выбранное изображение НЕ является исходным загруженным файлом. Вы просто хотите imagejpeg($imagen_p, $destino)

Смежные вопросы