elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema con el explode
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con el explode  (Leído 3,562 veces)
vensernow

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Problema con el explode
« en: 14 Febrero 2013, 19:08 pm »

Hola buenas, tengo un problema con el xplode me sale este error
Código
  1. Notice: Undefined variable: tipo in C:\wamp\www\proyecto\subearchivo.php on line 17
  2. Warning: explode() expects parameter 3 to be long, string given in C:\wamp\www\proyecto\subearchivo.php on line 17


Este es mi código y la verdad lo tome prestado y solo ise algunas modificaciones pero no entiendo como para que aplicaron explode.

Código
  1.  
  2. <?php
  3.  
  4. if ($_POST)
  5.  
  6. {
  7.  
  8. $str = "ABCDEFGHIJKLMNOPQESTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  9. $cad = "";
  10. define('separador',DIRECTORY_SEPARATOR);
  11. for ($i=0;$i<12;$i++)  
  12. {
  13. $cad .= substr($str,rand(0,62),1);
  14. }
  15.  
  16. $tamano = $_FILES[ 'file' ][ 'size' ];
  17. $tamano_max="5000000";
  18. if( $tamano < $tamano_max){
  19. $destino = 'uploaded' ;
  20.  $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo);
  21. $tipo=$sep;
  22. if($tipo == "gif" || $tipo == "jpeg" || $tipo == "gif" || $tipo == "bmp" || $tipo == "pdf"){
  23. move_uploaded_file ($_FILES[ 'file'][ 'tmp_name' ], $destino . '/' . $cad . '.' . $tipo);
  24. include('post.html');
  25. }}}
  26. ?>
  27.  

Si alguien me puede ayudar estaria muy agradecido   :D


En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Problema con el explode
« Respuesta #1 en: 14 Febrero 2013, 21:26 pm »

Dice que la variable $tipo no esta definida.

Código
  1. $tipo=$sep;
  2. $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo);
  3.  


En línea

vensernow

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema con el explode
« Respuesta #2 en: 14 Febrero 2013, 21:41 pm »

Dice que la variable $tipo no esta definida.

Código
  1. $tipo=$sep;
  2. $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo);
  3.  

Alli quede resuelto talvez el problema de la variable indefinida, y lo de el explode?
En línea

alister


Desconectado Desconectado

Mensajes: 513


Ver Perfil
Re: Problema con el explode
« Respuesta #3 en: 14 Febrero 2013, 22:24 pm »

Alli quede resuelto talvez el problema de la variable indefinida, y lo de el explode?

prueba a ejecutar el codigo y nos lo dices tú mismo
En línea

Back 2 business!
vensernow

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema con el explode
« Respuesta #4 en: 14 Febrero 2013, 23:26 pm »

ya le acomode como me dijeron y sale lo mismo

prueba a ejecutar el codigo y nos lo dices tú mismo


Citar

Notice: Undefined variable: tipo in C:\wamp\www\proyecto\subearchivo.php on line 17
Warning: explode() expects parameter 3 to be long, string given in C:\wamp\www\proyecto\subearchivo.php on line 17

los dos tienen una tabla que dice call stak  en un apartado que dice funcion dice en ambos {main}()

y en la de explode dice explode()
En línea

alister


Desconectado Desconectado

Mensajes: 513


Ver Perfil
Re: Problema con el explode
« Respuesta #5 en: 14 Febrero 2013, 23:40 pm »

Citar
Warning: explode() expects parameter 3 to be long, string given in C:\wamp\www\proyecto\subearchivo.php on line 17

traducido
Citar
Advertencia: explode() espera que el tercer parametro sea de tipo long; en su lugar se le ha pasado una cadena de texto (subearchivo.php, línea 17)

por tanto:

Código:
$sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo);

en ese explode, los parametros pasados son:

parametro 1
Código:
'image/'

parametro 2
Código:
$_FILES[ 'file' ]['tmp_name']

parametro 3 (el conflictivo, el que deberia ser de tipo long pero es una cadena de texto, como dice el error)
Código:
$destino . separador . $cad. '.' . $tipo

y aqui se explica cómo se usa explode()
http://php.net/manual/es/function.explode.php

con estos datos sobre la mesa, tú que crees que está mal?
cómo lo arreglarias?
En línea

Back 2 business!
vensernow

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema con el explode
« Respuesta #6 en: 15 Febrero 2013, 00:46 am »

El parametro tres es el que dice que esta mal, ya lei el manual pero no entiendo para que lo esta usando, reitero es un diseño que tome de otro lado y lo personalice creyendo que si funcionaria y nada mas le aumente lo que son la capacidad el nombre aleatorio, los formatos y una que otra cosilla pero ese ya vi el funcionamiento pero no entiendo  :-[  :-[  :-[ por ms obvio que parezca el error yo no comprendo ya que lo mio es el diseño grafico y apenas ando iniciando en php, si me podais ayudar con el resultado? y ya vere en que estoy mal o en que estuvo mal y talvez así comprenda el error.  :(
En línea

alister


Desconectado Desconectado

Mensajes: 513


Ver Perfil
Re: Problema con el explode
« Respuesta #7 en: 15 Febrero 2013, 00:58 am »

El parametro tres es el que dice que esta mal, ya lei el manual pero no entiendo para que lo esta usando, reitero es un diseño que tome de otro lado y lo personalice creyendo que si funcionaria y nada mas le aumente lo que son la capacidad el nombre aleatorio, los formatos y una que otra cosilla pero ese ya vi el funcionamiento pero no entiendo  :-[  :-[  :-[ por ms obvio que parezca el error yo no comprendo ya que lo mio es el diseño grafico y apenas ando iniciando en php, si me podais ayudar con el resultado? y ya vere en que estoy mal o en que estuvo mal y talvez así comprenda el error.  :(

es que el codigo está incompleto o mal hecho.

le falta, por ejemplo, determinarl el type del archivo.

y el explode no tiene ni pies ni cabeza, no hay por donde cogerlo. es un disparate.

ya que estas reciclando código y no te importa porque no pierdes nada que hayas hecho, ¿puedes explicar qué quieres hacer exactamente para que podamos prescindir de este trozo de codigo problemático y usar uno decente?

sea lo que sea, seguro que ya esta inventado y podemos encontrar un snippet valido. despues de todo parece que lo único que intentas es cargar ficheros y colocarlos en una carpeta aleatoria.
En línea

Back 2 business!
vensernow

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Problema con el explode
« Respuesta #8 en: 15 Febrero 2013, 02:12 am »

es que el codigo está incompleto o mal hecho.

le falta, por ejemplo, determinarl el type del archivo.

y el explode no tiene ni pies ni cabeza, no hay por donde cogerlo. es un disparate.

ya que estas reciclando código y no te importa porque no pierdes nada que hayas hecho, ¿puedes explicar qué quieres hacer exactamente para que podamos prescindir de este trozo de codigo problemático y usar uno decente?

sea lo que sea, seguro que ya esta inventado y podemos encontrar un snippet valido. despues de todo parece que lo único que intentas es cargar ficheros y colocarlos en una carpeta aleatoria.


En si lo que intento hacer en este código es subir una imagen con un nombre aleatorio o que valla aumentando de menor a mayor, en una carpeta llamada uploaded, eso es todo la estoy usando en un formulario y el codigo completo se complementa con este:

 
Código
  1. <?php
  2.  
  3. if ($_POST)
  4.  
  5. {
  6.  
  7. $str = "ABCDEFGHIJKLMNOPQESTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  8. $cad = "";
  9. define('separador',DIRECTORY_SEPARATOR);
  10. for ($i=0;$i<12;$i++)  
  11. {
  12. $cad .= substr($str,rand(0,62),1);
  13. }
  14.  
  15. $tamano = $_FILES[ 'file' ][ 'size' ];
  16. $tamano_max="5000000";
  17. if( $tamano < $tamano_max){
  18. $destino = 'uploaded' ;
  19.  $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo);
  20. $tipo=$sep;
  21. if($tipo == "gif" || $tipo == "jpeg" || $tipo == "gif" || $tipo == "bmp" || $tipo == "pdf"){
  22. move_uploaded_file ($_FILES[ 'file'][ 'tmp_name' ], $destino . '/' . $cad . '.' . $tipo);
  23. include('post.html');
  24. }}}
  25. ?>
  26.  
  27. <?php
  28. $nombre=$_POST['nombre'];
  29. $apat=$_POST['apat'];
  30. $amat=$_POST['amat'];
  31. $correo=$_POST['correo'];
  32. $escpro=$_POST['escpro'];
  33. $curso=$_POST['curso'];
  34.  
  35.  
  36. if ($nombre!="" && $apat!="" && $amat!="" && $correo!="" && $escpro!="" && $curso!="")
  37. {
  38. $con=Mysql_connect("localhost","root","");
  39. if($con){
  40. mysql_select_db("relacion");
  41. mysql_query("INSERT INTO curso1(nombre,apat,amat,correo,escpro,curso) VALUES('".$nombre."','".$apat."'.$amat."'.'".$correo."','".$escpro."','".$curso."');");
  42. }else{echo"la conexión falla";}}
  43. ?>
  44.  

Este es mi archivo subearchivo.php

Y el form bueno es htm basico y esta todo en linea solo queda comentar que el form lo abro asi
Código
  1. <form action="subearchivo.php" method="post" enctype="multipart/form-data">
  2.  

Como veis, lo ocupo para por medio un formulario subir una imagen a una carpeta y los datos se guarden en la base de datos, y bueno hasta ahora no eh averiguado como pero tambien quiero que la url se guarde en un campo de la base, la base tambien ya esta creada.
gracias de antemano y perdon por ser un pedinche  :-\ :-\ :-\ :-\
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema BlueZScanner y problema de conexión
Hacking Mobile
Kasswed 3 6,650 Último mensaje 6 Mayo 2006, 22:04 pm
por Gospel
Duda con explode
PHP
Feedeex 2 1,595 Último mensaje 10 Diciembre 2010, 16:37 pm
por Feedeex
Seleccionar con explode varias palabras
PHP
dimitrix 2 2,438 Último mensaje 20 Junio 2012, 14:08 pm
por dimitrix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines