Autor
|
Tema: Problema con el explode (Leído 3,562 veces)
|
vensernow
Desconectado
Mensajes: 5
|
Hola buenas, tengo un problema con el xplode me sale este error 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
Este es mi código y la verdad lo tome prestado y solo ise algunas modificaciones pero no entiendo como para que aplicaron explode. <?php if ($_POST) { $str = "ABCDEFGHIJKLMNOPQESTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; $cad = ""; define('separador',DIRECTORY_SEPARATOR); for ($i=0;$i<12;$i++) { } $tamano = $_FILES[ 'file' ][ 'size' ]; $tamano_max="5000000"; if( $tamano < $tamano_max){ $destino = 'uploaded' ; $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo); $tipo=$sep; if($tipo == "gif" || $tipo == "jpeg" || $tipo == "gif" || $tipo == "bmp" || $tipo == "pdf"){ include('post.html'); }}} ?>
Si alguien me puede ayudar estaria muy agradecido
|
|
|
En línea
|
|
|
|
EFEX
Desconectado
Mensajes: 1.171
"Dinero Facil"
|
Dice que la variable $tipo no esta definida. $tipo=$sep; $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo);
|
|
|
En línea
|
|
|
|
vensernow
Desconectado
Mensajes: 5
|
Dice que la variable $tipo no esta definida. $tipo=$sep; $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo);
Alli quede resuelto talvez el problema de la variable indefinida, y lo de el explode?
|
|
|
En línea
|
|
|
|
alister
Desconectado
Mensajes: 513
|
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
Mensajes: 5
|
ya le acomode como me dijeron y sale lo mismo prueba a ejecutar el codigo y nos lo dices tú mismo
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
Mensajes: 513
|
Warning: explode() expects parameter 3 to be long, string given in C:\wamp\www\proyecto\subearchivo.php on line 17 traducido 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: $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo); en ese explode, los parametros pasados son: parametro 1 parametro 2 $_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) $destino . separador . $cad. '.' . $tipo y aqui se explica cómo se usa explode() http://php.net/manual/es/function.explode.phpcon estos datos sobre la mesa, tú que crees que está mal? cómo lo arreglarias?
|
|
|
En línea
|
Back 2 business!
|
|
|
|
alister
Desconectado
Mensajes: 513
|
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
Mensajes: 5
|
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: <?php if ($_POST) { $str = "ABCDEFGHIJKLMNOPQESTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; $cad = ""; define('separador',DIRECTORY_SEPARATOR); for ($i=0;$i<12;$i++) { } $tamano = $_FILES[ 'file' ][ 'size' ]; $tamano_max="5000000"; if( $tamano < $tamano_max){ $destino = 'uploaded' ; $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . separador . $cad. '.' . $tipo); $tipo=$sep; if($tipo == "gif" || $tipo == "jpeg" || $tipo == "gif" || $tipo == "bmp" || $tipo == "pdf"){ include('post.html'); }}} ?> <?php $nombre=$_POST['nombre']; $apat=$_POST['apat']; $amat=$_POST['amat']; $correo=$_POST['correo']; $escpro=$_POST['escpro']; $curso=$_POST['curso']; if ($nombre!="" && $apat!="" && $amat!="" && $correo!="" && $escpro!="" && $curso!="") { if($con){ mysql_query("INSERT INTO curso1(nombre,apat,amat,correo,escpro,curso) VALUES('".$nombre."','".$apat."'.$amat."'.'".$correo."','".$escpro."','".$curso."');"); }else{echo"la conexión falla";}} ?>
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 <form action="subearchivo.php" method="post" enctype="multipart/form-data">
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
|
|
|
|
|
|