Foros del Web » Programando para Internet » PHP »

no encuenro mi error en procesando mis archivos php

Estas en el tema de no encuenro mi error en procesando mis archivos php en el foro de PHP en Foros del Web. Estoy intentando procesar mis archivos para si hay un error aparte de mostrar error me envie otra vez al formulario pero no me funciona alguien ...

  #1 (permalink)  
Antiguo 16/05/2011, 06:10
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
no encuenro mi error en procesando mis archivos php

Estoy intentando procesar mis archivos para si hay un error aparte de mostrar error me envie otra vez al formulario pero no me funciona alguien me dice el porque:

codigo:
Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.       <script language='javascript' type='text/javascript'>
  4.        function volver(){
  5.         location.href='formulario.html';
  6.        }
  7.        </script>
  8.     </head>
  9.     <body>
  10.  
  11. <?php
  12. $error=false;
  13. if($_FILES['archivo']['type']!='image/pjpeg'){
  14.     echo 'Este archivo no se puede subir solo se acepta archivos tipo jpeg';
  15.     $error=true;
  16. }
  17. if($_FILES['archivo']['size'] >50000){
  18.     echo 'Este archivo no se puede subir es demasiado grande solo se aceptan hasta 50000 bytes';
  19.     $error=true;
  20. }
  21. if($_FILES['archivo']['error']!=0){
  22.     echo 'Hay un error en el archivo';
  23. }
  24. if ($error){
  25.     echo '<input type="button" name="retorno" id="retorno" value="volver" onClick="javascript:volver();";';
  26. }else{
  27.       $numFiles = count($_FILES['archivo']['tmp_name']);
  28.     for($i=0; $i<$numFiles; $i++){
  29.        if($_FILES['archivo']['name'][$i]){
  30. if (move_uploaded_file($_FILES['archivo']['tmp_name'][$i],'misarchivos/'.$_FILES["archivo"]["name"][$i])) {
  31.   }else{
  32.     echo 'Error, no se pudo mover la imagen ';
  33.     }
  34.        }
  35.     }
  36. ?>
  #2 (permalink)  
Antiguo 16/05/2011, 06:21
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: no encuenro mi error en procesando mis archivos php

No entiendo porque si hay error pones un botón que al hacer click te lleve al formulario.

Si lo que quieres es volver al formulario, utiliza la función header de php:

Código PHP:
Ver original
  1. header('Location: formulario.html');
  #3 (permalink)  
Antiguo 16/05/2011, 06:24
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Cita:
Iniciado por alexg88 Ver Mensaje
No entiendo porque si hay error pones un botón que al hacer click te lleve al formulario.

Si lo que quieres es volver al formulario, utiliza la función header de php:

Código PHP:
Ver original
  1. header('Location: formulario.html');
¿Y si quiere usar un botón qué?

No he mirado mucho de tu código pero o lo has copiado mal aquí o eso no te puede funcionar porte te falta cerrar una llave }
Concretamente la del else que está antes del for.
Supongo que ahí estaría tu fallo.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #4 (permalink)  
Antiguo 16/05/2011, 06:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

bueno eso lo puedo cambiar pero esque igual no me funciona
  #5 (permalink)  
Antiguo 16/05/2011, 06:37
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Hombre, si tienes las llaves mal ya te digo yo que no te iba a funcionar de ninguna de las formas ...

¿Donde se para tu código? ¿Te entra en los ifs? ¿Que valor tiene $error?
¿Cuando no hay errores en tu imagen hace la otra parte de forma correcta?
También puedes hacer un echo y decirnos donde se para tu código.

Nosotros no sabemos que estás subiendo ni como tienes el formulario ni los valores que te devuelven.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #6 (permalink)  
Antiguo 16/05/2011, 06:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

gracias por contestar IEKK pero ha sido un fallo de escritura en el codigo si que tengo esta llave cerrada el problema que me da es que cuando envio los archivos me salen en pantallas los echo de error cuando realmente no hay ningun error
  #7 (permalink)  
Antiguo 16/05/2011, 06:45
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Amm ok, bueno dinos que errores te dan. Así es más rápido, sabemos el tipo y la línea.
Postea el warning que te dé
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #8 (permalink)  
Antiguo 16/05/2011, 06:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

no me da ningun error solo que el codigo no me funciona como tendria que hacerlo asea cuando mando los archivos me sale en pantalla todos los echo de error
  #9 (permalink)  
Antiguo 16/05/2011, 06:49
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Disculpa ya te entendí.
Te está mostrando los echo aún cuando supuestamente no hay errores.
Vayamos por partes ¿Cuales te muestra? Es posible que se deba a la variable $error.

... O quizás esté en el $_FILES['archivo']

Por cierto es diferente:
Código PHP:
if($_FILES['fichero']['type']=="image/jpeg"){...}
if(
$_FILES['fichero']['type']=="image/pjpeg"){...} 
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #10 (permalink)  
Antiguo 16/05/2011, 06:53
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

por si lo quereis saber despues del ultimo echo antes de cerrar el else y el bucle creo un codigo para redimensionar las imagenes y despues cierro con las tres llaves del else y bucle for
  #11 (permalink)  
Antiguo 16/05/2011, 06:55
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Por favor ¿Me haces un echo de estas variables?

- $_FILES['fichero']['type']
- $error

Para ir descartando cosas
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #12 (permalink)  
Antiguo 16/05/2011, 06:57
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

IEKK yo lo tengo asin:
Código PHP:
Ver original
  1. if($_FILES['fichero']['type']!="image/jpeg"){...}

si es diferente tendria que mostrar el echo si es igual no y en este caso es igual no tendria que mostrar nada y me muestra todos los echo
  #13 (permalink)  
Antiguo 16/05/2011, 07:00
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Cita:
Iniciado por pithon Ver Mensaje
IEKK yo lo tengo asin:
Código PHP:
Ver original
  1. if($_FILES['fichero']['type']!="image/jpeg"){...}
Pues si te fijas en el primer código pusiste claramente pjpeg.
Yo te recomiendo que pongas las dos, pero como quieras.
En cualquier caso dinos que valor te está devolviendo $_FILES['fichero']['type']
$_FILES['archivo']['size']...

Si te entra en los if es que es obvio que los tienes mal. PHP no inventa nada.

Sólo hazles un echo...... y dinos que te devuelve.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #14 (permalink)  
Antiguo 16/05/2011, 07:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

perdona pero no te entiendo donde como que te haga un echo de esas variables
  #15 (permalink)  
Antiguo 16/05/2011, 07:13
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Dios mio...

Te pido que hagas un echo para comprobar que los valores del $_FILE sean correctos. ¿Por qué no lo haces y ya está? -.-'

Te repito si te entra en los if y te hace los echo (Y la imagen está acorde a lo que tu estableces) Es que hay un fallo en la condición.

Llevo no sé ni cuantos post pidiendo que hagas un simple echo, que tardas 5 segundos en hacerlo y podrías descartar errores...

Código PHP:
//Antes de los if....
echo 'Tipo: '.$_FILES['fichero']['type'];
echo 
'Tama&ntilde;o: '.$_FILES['archivo']['size']; 
Es muy problable que tu error venga de ahí porque cambias el valor de la variable $error en los siguientes if

Código PHP:
if($_FILES['archivo']['type']!='image/pjpeg'){
    echo 
'Este archivo no se puede subir solo se acepta archivos tipo jpeg';
    
$error=true;
}
if(
$_FILES['archivo']['size'] >50000){
    echo 
'Este archivo no se puede subir es demasiado grande solo se aceptan hasta 50000 bytes';
    
$error=true;

Sube una iamgen y dinos que tienes en los $_FILE....
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #16 (permalink)  
Antiguo 16/05/2011, 07:18
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

IEKK ya lo se que php no engaña esque hay biene lo que estoy haciendo mal que no consigo resolver todos los echos se muestran en pantallas por su puesto que no se tendrian que mostrar por eso es ahi donde ago algo mal y no lo localizo
  #17 (permalink)  
Antiguo 16/05/2011, 07:21
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: no encuenro mi error en procesando mis archivos php

Lo siento me rindo contigo. Te digo que hagas un echo y tú R que R.
Sólo tenías que decirnos que valores te daba la variable para ir descartando posibilidades. Como comrpenderás no estamos ejecutando tú código y no somos adivinos.

Me parece que pedirte que hagas un echo y nos muestres los valores para saber porque te entraban en los if() no era mucho pedir.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #18 (permalink)  
Antiguo 16/05/2011, 07:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: no encuenro mi error en procesando mis archivos php

pithon, pon lo que te ha dicho IEKK.

Antes de los if, después de $error=false pon esto:

Código PHP:
echo 'Tipo: '.$_FILES['archivo']['type'];
echo 
'Tama&ntilde;o: '.$_FILES['archivo']['size']; 
Ahí te va a salir el valor que toma la condición en los if, para saber por qué te entra.

Luego pon aquí:

Me sale esto:

Tipo: (lo que te salga)
Tamaño: (lo que te salga)
  #19 (permalink)  
Antiguo 16/05/2011, 07:27
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

vale vale me salio esto Tipo: Tamaño: Array
  #20 (permalink)  
Antiguo 16/05/2011, 07:29
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: no encuenro mi error en procesando mis archivos php

Perdona, cuando te escribí el código puse:

$_FILES['fichero']['type']

pero tenías que poner:

$_FILES['archivo']['type']

luego lo edité. Comprueba que lo has puesto bien y vuelve a poner lo que te sale.
  #21 (permalink)  
Antiguo 16/05/2011, 07:38
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Nexus10 ya lo puse bien me salio lo que te dije
Tipo: ArrayTamaño: Array

con este error:

( ! ) Notice: Undefined variable: i in C:\wamp\www\misarchivos\archivos.php on line 19

perdona no me da ningun error de php era una letra mal puesta solo que los tipos y tamaño me sale eso

no funciona bien le puse un bucle for
codigo
Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.       <script language='javascript' type='text/javascript'>
  4.        function volver(){
  5.         location.href='formulario.html';
  6.        }
  7.        </script>
  8.     </head>
  9.     <body>
  10.  
  11. <?php
  12. $numFiles = count($_FILES['archivo']['tmp_name']);
  13.     for($i=0; $i<$numFiles; $i++){
  14.         if($_FILES['archivos']['name'][$i]){
  15. $error=false;
  16. if($_FILES['archivo']['type']!='image/pjpeg'){
  17.     echo 'Este archivo no se puede subir solo se acepta archivos tipo jpeg';
  18.     $error=true;
  19. }
  20. if($_FILES['archivo']['size'] >50000){
  21.     echo 'Este archivo no se puede subir es demasiado grande solo se aceptan hasta 50000 bytes';
  22.     $error=true;
  23. }
  24. if($_FILES['archivo']['error']!=0){
  25.     echo 'Hay un error en el archivo';
  26. }
  27. if ($error){
  28.     echo '<input type="button" name="retorno" id="retorno" value="volver" onClick="javascript:volver();";';
  29. }else{
  30.       $numFiles = count($_FILES['archivo']['tmp_name']);
  31.     for($i=0; $i<$numFiles; $i++){
  32.        if($_FILES['archivo']['name'][$i]){
  33. if (move_uploaded_file($_FILES['archivo']['tmp_name'][$i],'misarchivos/'.$_FILES["archivo"]["name"][$i])) {
  34.   }else{
  35.     echo 'Error, no se pudo mover la imagen ';
  36.     }
  37.     //aqui redimensiono las imagenes
  38.  
  39.        }
  40.     }
  41. }
  42. ?>
lo que me muestra este error

Notice: Undefined index: archivos in C:\wamp\www\misarchivos|archivos.php on line 14
aunque funciona bien

Última edición por GatorV; 16/05/2011 a las 08:11
  #22 (permalink)  
Antiguo 16/05/2011, 07:58
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: no encuenro mi error en procesando mis archivos php

¿Te funciona bien?, ¿¿en serio??.
¿Has visto lo que te salían las variables que te dijimos antes?, ¿entiendes lo que significaba eso?
  #23 (permalink)  
Antiguo 16/05/2011, 08:01
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

nexus10 NO me funciona bien
entiendo que tendria que hacer un bucle ya que son multiples archivos y corregir los if verdad?
  #24 (permalink)  
Antiguo 16/05/2011, 08:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: no encuenro mi error en procesando mis archivos php

Desde luego los if los tienes que cambiar. El bucle ya depende de lo que quieras hacer y como lo quieras hacer.

Tienes que aprender a depurar el código. Para saber si una variable está tomando el valor que corresponde pones echo de la forma que te dijimos antes. Para saber que valores tiene un array lo puedes mostrar con print_r($array), así sabrás si es unidimensional o multidimensional para saber como acceder a los elementos.
Este tipo de cosas son las que tienes que aprender primero antes de meterte a programar porque si no vas a tener muchísimos problemas.
  #25 (permalink)  
Antiguo 16/05/2011, 08:12
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

ahora funciona bien solo que que salen tantos botones como errores aigan y solo quiero un boton como puedo corregir el bucle

muestro codigo :

Código PHP:
Ver original
  1. <?php
  2. $numFiles = count($_FILES['archivo']['tmp_name']);
  3.     for($i=0; $i<$numFiles; $i++){
  4.         if($_FILES['archivos']['name'][$i]){
  5. $error=false;
  6. if($_FILES['archivo']['type'][$i]!='image/pjpeg'){
  7.     echo 'Este archivo no se puede subir solo se acepta archivos tipo jpeg';
  8.     $error=true;
  9. }
  10. if($_FILES['archivo']['size'][$i] >50000){
  11.     echo 'Este archivo no se puede subir es demasiado grande solo se aceptan hasta 50000 bytes';
  12.     $error=true;
  13. }
  14. if($_FILES['archivo']['error'][$i]!=0){
  15.     echo 'Hay un error en el archivo';
  16. }
  17. if ($error){
  18.     echo '<input type="button" name="retorno" id="retorno" value="volver" onClick="javascript:volver();";';
  19. }else{
  20.    
  21. if (move_uploaded_file($_FILES['archivo']['tmp_name'][$i],'misarchivos/'.$_FILES["archivo"]["name"][$i])) {
  22.   }else{
  23.     echo 'Error, no se pudo mover la imagen ';
  24.     }
  25.     //aqui redimensiono las imagenes
  26.  
  27.        }
  28.     }
  29.     }
  30.  
  31. ?>
  #26 (permalink)  
Antiguo 16/05/2011, 08:35
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: no encuenro mi error en procesando mis archivos php

Saca el trozo donde pones el botón fuera del bucle para que sólo te aparezca una vez.
  #27 (permalink)  
Antiguo 16/05/2011, 08:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: no encuenro mi error en procesando mis archivos php

Pues si quieres que el bucle se corte en cuanto haya un error tendrás que poner un break dentro del bucle:

if ($error){
break;
}

y luego el botón fuera del bucle:

if ($error){
<input......>
}
  #28 (permalink)  
Antiguo 16/05/2011, 09:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

perfecto era eso lo que queria un ultimo detalle quiero mostrar el archivo que esta mal lo hice algo asin:

Código PHP:
Ver original
  1. if($_FILES['archivo']['size'][$i] >50000){
  2.    echo 'El archivo'.$i.' no se puede subir es demasiado grande solo se aceptan hasta 50000 bytes';
  3.     $error=true;

lo que pasa que siempre me avisa un archivo antes como el array empieza a contar de 0 como lo podria arreglar?
  #29 (permalink)  
Antiguo 16/05/2011, 09:51
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: no encuenro mi error en procesando mis archivos php

Súmale uno al índice.

echo 'El archivo'.($i+1).' no se puede subir es demasiado grande solo se aceptan hasta 50000 bytes';
  #30 (permalink)  
Antiguo 16/05/2011, 10:15
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: no encuenro mi error en procesando mis archivos php

a vale es verdad gracias.

JOER aunque aun no funciona como quiero todo va bien pero al final despues de cerrar llaves abro conexion con db y grabas los datos pero quiero mostrar un echo diciendo que todo fue bien osea desde la subida de archivos hasta la insercion en db pero no logro consegirlo tengo algo asin:

Código PHP:
Ver original
  1. <?php
  2.      $numFiles = count($_FILES['archivo']['tmp_name']);
  3.     for($i=0; $i<$numFiles; $i++){
  4.         if($_FILES['archivo']['name'][$i]){
  5. $error=false;
  6. if($_FILES['archivo']['error'][$i]!=0){
  7.    echo 'Hay un error en el archivo<br>';
  8. }
  9. if($_FILES['archivo']['type'][$i]!='image/jpeg'){
  10.     echo 'Este archivo no se puede subir solo se acepta archivos tipo jpeg';
  11.     $error=true;
  12. }
  13. if($_FILES['archivo']['size'][$i] >50000){
  14.    echo 'El archivo'.($i+1).' no se puede subir es demasiado grande solo se aceptan hasta 50000 bytes';
  15.     $error=true;
  16. }
  17.  
  18. if ($error){
  19.     break;
  20. }
  21. else{
  22.    
  23. if (move_uploaded_file($_FILES['archivo']['tmp_name'][$i],'misarchivos/'.$_FILES["archivo"]["name"][$i])) {
  24.    }else{
  25.  echo 'no se pudo subir imagen';
  26.    }
  27. //codigo para redimensionar imagenes y guardarlas en carpeta servidora
  28. if (imagejpeg($imagen_nueva,'misarchivos/'.$_FILES['archivo']['name'][$i])){
  29.     }else{
  30.     echo 'No se realizo el thumbnail';
  31.     }
  32. }
  33.         }
  34.     }
  35.    if( $error){  echo '<input type="button" name="retorno" id="retorno" value="volver" onClick="javascript:volver();";';
  36. }
  37.  
  38.    
  39.  // codigo para guardar datos en db    
  40. ?>

Etiquetas: Ninguno
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 07:19.