Foros del Web » Programando para Internet » PHP »

no encuentro el error a mi script

Estas en el tema de no encuentro el error a mi script en el foro de PHP en Foros del Web. Estoy dando mis primeros pasos en php y la verdad que es muy completo y me gustaria aprenderlo. bueno aqui tengo un codigo pero solo ...
  #1 (permalink)  
Antiguo 30/04/2011, 11:35
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
no encuentro el error a mi script

Estoy dando mis primeros pasos en php y la verdad que es muy completo y me gustaria aprenderlo.

bueno aqui tengo un codigo pero solo me funciona una parte la de guardar archivos espero la colaboracion de algun experto.

Código PHP:
Ver original
  1. <?php
  2.  
  3. $uploaddir = 'fotos/';
  4. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  5. echo '<pre>';
  6. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  7.     echo "El archivo  fue cargado exitosamente.\n";
  8. } else {
  9.     echo "¡Posible ataque de carga de archivos!\n";
  10. }
  11. ?>
  12. <?php
  13.  
  14.     header("Content-type: image/jpeg");
  15.     $rutaredi= 'fotosredi/';
  16.     $nombrefoto= $_FILES["userfile"]["name"];
  17.     $imagenoriginal = imagecreatefromjpeg('fotos/'.$nombrefoto);
  18.     $ancho=imagey($imagenoriginal);
  19.     $alto=imagex($imagenoriginal);
  20.     $imagennueva = imagecreatetruecolor (60,60);
  21.     imagecopyresized ($imagennueva,$imagenoriginal,0,0,0,0,60,60,$ancho,$alto);
  22.     imagejpeg($imagennueva,$rutaredi);
  23.     imagedestroy($imagenoriginal);
  24.     imagedestroy($imagennueva);
  25.    
  26. ?>

Última edición por roboty; 30/04/2011 a las 12:09
  #2 (permalink)  
Antiguo 30/04/2011, 12:16
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: no encuentro el error a mi script

No indicas exactamente el problema, aunque por el código imagino que quieres que suban una imagen, para luego redimensionarla, y mostrarla.
Si es así, el problema está en que haces un echo:
"El archivo fue cargado exitosamente.\n";
antes de enviar el encabezado (header) de la imagen jpg. Si funciona el move_uploaded_file, en vez del echo deberías hacer todo lo que está en el código inferior, sin hacer ese echo.
  #3 (permalink)  
Antiguo 30/04/2011, 12:22
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: no encuentro el error a mi script

Gracias por contestar ocp001a lo que quiero que haga este codigo es a traves de un fomrulario enviar una imagen guardarla en mi servidor local y despues redimensionarla y guardar la imagen redimensionarla.

como tendria que hacer lo del echo algo asin:

Código PHP:
Ver original
  1. echo"
  2. header("Content-type: image/jpeg");
  3.    $rutaredi= 'fotosredi/';
  4.    $nombrefoto= $_FILES["userfile"]["name"];
  5.    $imagenoriginal = imagecreatefromjpeg('fotos/'.$nombrefoto);
  6.    $ancho=imagey($imagenoriginal);
  7.    $alto=imagex($imagenoriginal);
  8.    $imagennueva = imagecreatetruecolor (60,60);
  9.    imagecopyresized ($imagennueva,$imagenoriginal,0,0,0,0,60,60,$ancho,$alto);
  10.    imagejpeg($imagennueva,$rutaredi);
  11.    imagedestroy($imagenoriginal);
  12.    imagedestroy($imagennueva);} else {
  13.    echo "¡Posible ataque de carga de archivos!\n";
  14. }"

Última edición por roboty; 30/04/2011 a las 12:26 Razón: falto un trozo de codigo
  #4 (permalink)  
Antiguo 30/04/2011, 12:39
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: no encuentro el error a mi script

lo hice asin y nada hace lo mismo
Código PHP:
Ver original
  1. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  2.     echo "El archivo  fue cargado exitosamente.\n";
  3. include ('redi.php');
  #5 (permalink)  
Antiguo 30/04/2011, 12:50
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: no encuentro el error a mi script

Veamos...
con el header("Content-type: image/jpeg"); estás indicando al navegador que va a recibir una imagen. No obstante viendo más a detalle tu código nunca haces la salida de la imagen. Si no requieres que la imagen sea mostrada al navegador quita esa linea.

Por tanto debería (en mi opinión) quedar así:


Código PHP:
Ver original
  1. <?php
  2.  
  3. $uploaddir = 'fotos/';
  4. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  5. echo '<pre>';
  6. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  7.     header("Content-type: image/jpeg");
  8.     $rutaredi= 'fotosredi/';
  9.     $nombrefoto= $_FILES["userfile"]["name"];
  10.     $imagenoriginal = imagecreatefromjpeg('fotos/'.$nombrefoto);
  11.     $ancho=imagey($imagenoriginal);
  12.     $alto=imagex($imagenoriginal);
  13.     $imagennueva = imagecreatetruecolor (60,60);
  14.     if(imagecopyresized ($imagennueva,$imagenoriginal,0,0,0,0,60,60,$ancho,$alto)){
  15.         imagejpeg($imagennueva,$rutaredi);
  16.         imagedestroy($imagenoriginal);
  17.         imagedestroy($imagennueva);
  18.         echo "El archivo  fue cargado exitosamente.\n";
  19.     }
  20. } else {
  21.     echo "¡Posible ataque de carga de archivos!\n";
  22. }
  23.    
  24. ?>
  #6 (permalink)  
Antiguo 30/04/2011, 12:53
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: no encuentro el error a mi script

gracias lo probare y te dire si funciona gracias un saludo
  #7 (permalink)  
Antiguo 30/04/2011, 16:13
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: no encuentro el error a mi script

La imagen original me la guarda bien pero la redimensionada me da error:


este es el codigo ahora:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $uploaddir = 'fotos/';
  4. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  5. echo '<pre>';
  6. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  7.      //header("Content-type: image/jpeg");
  8.     $rutaredi= 'fotosredi/';
  9.     $nombrefoto= $_FILES["userfile"]["name"];
  10.     $imagenoriginal = imagecreatefromjpeg('fotos/'.$nombrefoto);
  11.     $ancho=imagey($imagenoriginal);
  12.     $alto=imagex($imagenoriginal);
  13.     $imagennueva = imagecreatetruecolor (60,60);
  14.     if (imagecopyresized ($imagennueva,$imagenoriginal,0,0,0,0,60,60,$ancho,$alto)){
  15.     imagejpeg($imagennueva,$rutaredi);
  16.     imagedestroy($imagenoriginal);
  17.     imagedestroy($imagennueva);
  18.     }
  19.     } else {
  20.     echo "¡Posible ataque de carga de archivos!\n";
  21. }
  22. ?>


Fatal error: Call to undefined function imagey() in C:\wamp\www\webdavid\uploadfile.php on line 13
  #8 (permalink)  
Antiguo 30/04/2011, 17:48
Avatar de Hipo  
Fecha de Ingreso: abril-2006
Ubicación: Buenos Aires - Argentina
Mensajes: 14
Antigüedad: 18 años
Puntos: 2
Respuesta: no encuentro el error a mi script

Hola,

Fijate la sintáxis porque me parece que esta mal escrita estas líneas:

$ancho=imagey($imagenoriginal);
$alto=imagex($imagenoriginal);

Debe ser:

imagesy($imagenoriginal);
imagesx($imagenoriginal);

Slds.
  #9 (permalink)  
Antiguo 30/04/2011, 19:15
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: no encuentro el error a mi script

muchas gracias hipo era eso otra cosita ahora el script solo me envia una foto y ademas solo me guarda una si quisiera mandar multiples archivos y redimensionarlos y volverlos a guardar donde tendria que poner la linea del array?

Etiquetas: encuentro
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 01:54.