Foros del Web » Programando para Internet » PHP »

Como leer imagenes externas para un upload php???

Estas en el tema de Como leer imagenes externas para un upload php??? en el foro de PHP en Foros del Web. Saludos, llevo dias programando mucho y con los ojos pelados con esto, tengo un cliente que me pidio lo siguiente. Un upload para fotos que ...
  #1 (permalink)  
Antiguo 03/01/2011, 10:04
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa Como leer imagenes externas para un upload php???

Saludos, llevo dias programando mucho y con los ojos pelados con esto, tengo un cliente que me pidio lo siguiente. Un upload para fotos que redimensione, el codigo funciona bien en localhost pero en internet no funciona, el error que da es; THE FILENAME CANNOT BE EMPTY, me he dado cuenta que no esta leyendo la ruta de las imagenes externas, si las fotos estan en la misma carpeta que el script las carga, de lo contrario no. el codigo es el siguiente.

<?php
include("cn.php");
include("common_adm.php");
checklogin();
//phpinfo();

if ($_POST["Subir"])
{
if ($_POST["actividad"] != 7)
{
//datos del arhivo
//compruebo si las características del archivo son las que deseo
$total = $_POST['total'];
$actividad = $_POST["actividad"];
$categoria = $_POST["categoria"];

$i = 0;
for($i = 1; $i <= $total; $i++)
{

if($_FILES["imagen$i"])
{
// controlo que el el formulario haya sido cargado y ejecuto mi script
$img = $_FILES["imagen$i"]["name"]; // almaceno el nombre del archivo subido
$img2 = $img; //nombre de la nueva imagen achicada
$tipo = $_FILES["imagen$i"]["type"]; // almaceno el tipo de archivo
$dir = './imagenes_gde/'; // selecciono la carpta donde almaceno las imagenes
$anchomax = 500;
//aca controlo que el archivo subido sea JPG

if ($tipo == "image/jpeg")
{
// es JPG entonces abtengo el tamaño en pixel de la imagen subida
if ($i == 1)
{
$n = "1";

$tamanos = getimagesize($imagen1);
if ($tamanos[0] > $tamanos[1])
{
$anchomax = 500;
$ancho = $tamanos[0];
$alto = $tamanos[1];
}
else
{
$anchomax = 375;

$ancho = $tamanos[0];
$alto = $tamanos[1];
}
}
// controlo que no mida de ancho mas que el limite

if ($ancho > $anchomax)
{
$nuevoalto = round($anchomax / $ancho * $alto); //calculo el nuevo alto
if ($i == 1)
{
$imagenoriginal = imagecreatefromjpeg($imagen1); //tomo la imagen original
}

$imagennueva = imagecreatetruecolor($anchomax,$nuevoalto); // creo el lienzo de la imagen nueva

$quality = 100;

$fecha = $_POST[fecha];

if ($fecha == "")
{
$fecha = date("Y-m-d");
}
else
{
$fecha = $_POST[fecha];
}
//id//nombre_archivo//competencia//categoria//fecha
mysql_query("INSERT INTO productos VALUES ('NULL','comp_','$fecha','$img','---','$_POST[actividad]','$categoria','0','0','0','0','0','0')");
$id = comp.'_'.mysql_insert_id().".jpg";

imagecopyresampled($imagennueva, $imagenoriginal, 0, 0, 0, 0, $anchomax, $nuevoalto, $ancho, $alto);// cambio el manaño
imagejpeg($imagennueva, $dir . $id, $quality); // guardo el archivo nuevo
$archivo = $dir.$img2;
}
else
{
//esto es si la imagen no excedia el ancho
$archivo = $dir.$img;
//guardo el archivo original
//move_uploaded_file($HTTP_POST_FILES["imagen$i"]["tmp_name"], $dir.$id);
}

$muestra = "<img src=\"".$archivo."\">";
}
else
{
$muestra = "el archivo no es JPG";
}

//CREACION DE FOTO MINIATURA
// controlo que el el formulario haya sido cargado y ejecuto mi script
$img = $_FILES["imagen$i"]["name"]; // almaceno el nombre del archivo subido
$img2 = $img; //nombre de la nueva imagen achicada
$tipo = $_FILES["imagen$i"]["type"]; // almaceno el tipo de archivo
$dir = './miniaturas/'; // selecciono la carpta donde almaceno las imagenes
//aca controlo que el archivo subido sea JPG

if ($tipo == "image/jpeg")
{
// es JPG entonces abtengo el tamaño en pixel de la imagen subida
if ($i == 1)
{
$tamanos = getimagesize($imagen1);
if ($tamanos[0] > $tamanos[1])
{
$anchomax = 140;
$ancho = $tamanos[0];
$alto = $tamanos[1];
}
else
{
$anchomax = 105;

$ancho = $tamanos[0];
$alto = $tamanos[1];
}
}
// controlo que no mida de ancho mas que el limite

if ($ancho > $anchomax)
{
$nuevoalto = round($anchomax / $ancho * $alto); //calculo el nuevo alto
if ($i == 1)
{
$imagenoriginal = imagecreatefromjpeg($imagen1); //tomo la imagen original
}

$imagennueva = imagecreatetruecolor($anchomax,$nuevoalto); // creo el lienzo de la imagen nueva

$quality = 100;

imagecopyresampled($imagennueva, $imagenoriginal, 0, 0, 0, 0, $anchomax, $nuevoalto, $ancho, $alto);// cambio el manaño
imagejpeg($imagennueva, $dir . $id, $quality); // guardo el archivo nuevo
$archivo = $dir.$img2;

$msg = "*** Las Imágenes Se Han Cargado Correctamente!"."<br>";
}
else
{
//esto es si la imagen no excedia el ancho
$archivo = $dir.$img;
//guardo el archivo original


//move_uploaded_file($HTTP_POST_FILES["imagen$i"]["tmp_name"], $dir.$id);

$muestra = "<img src=\"".$archivo."\">";
}}
else
{
$muestra = "el archivo no es JPG";
}
}
}
}
else
{
$msg = "Debe Seleccionar una Actividad!";
}
}
$res = mysql_query("SELECT * FROM competencias ORDER BY id");
?>

ESTOY TARDE CON ESTO, LES AGRADESCO DE ANTEMANO.
  #2 (permalink)  
Antiguo 04/01/2011, 10:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde Configuración PHP a PHP

Etiquetas: externas, imagenes, upload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:23.