Foros del Web » Programando para Internet » PHP »

Upload dudas

Estas en el tema de Upload dudas en el foro de PHP en Foros del Web. <form action="prueba2.php" method="post" enctype="multipart/form-data"> Seleccione el archivo: <input type="file" name="foto"><br> <input type="submit" value="Enviar"> </form> <? copy($_FILES['foto']['tmp_name'],$_FILES['foto']['name']); echo "La foto se registro en el servidor.<br>"; $nom=$_FILES['foto']['name']; ...
  #1 (permalink)  
Antiguo 18/12/2009, 17:24
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Upload dudas

<form action="prueba2.php" method="post" enctype="multipart/form-data">
Seleccione el archivo:
<input type="file" name="foto"><br>
<input type="submit" value="Enviar">
</form>

<?
copy($_FILES['foto']['tmp_name'],$_FILES['foto']['name']);
echo "La foto se registro en el servidor.<br>";
$nom=$_FILES['foto']['name'];
echo "<img src=\"$nom\">";ç
?>


Me e leido esta guia http://phpya.com.ar/temarios/descripcion.php?cod=54
Pero no me entero.. ¿Como hago para que se guarden en otra carpeta?
¿y con el nombre que yo quierA?
  #2 (permalink)  
Antiguo 18/12/2009, 17:38
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Upload dudas

usa move_uploaded_file() :

http://php.net/manual/en/function.mo...oaded-file.php
__________________
Quitenme la vida pero no la bebida.
  #3 (permalink)  
Antiguo 18/12/2009, 17:47
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Upload dudas

$uploads_dir = '/fotos';
$name="foto120";
copy($_FILES['foto']['tmp_name'],$_FILES['foto']['name']);
echo "La foto se registro en el servidor.<br>";
$nom=$_FILES['foto']['name'];
echo "<img src=\"$nom\">";
move_uploaded_file($tmp_name,"$uploads_dir/$name");


No funcions
  #4 (permalink)  
Antiguo 18/12/2009, 17:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Upload dudas

$tmp_name ¿donde la defines??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 18/12/2009, 18:21
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Upload dudas

hola, e pesto ahora

<?
$uploads_dir = '/fotos';
$name="xdd";
$tmp_name="xdd";
copy($_FILES['foto']['tmp_name'],$_FILES['foto']['name']);
echo "La foto se registro en el servidor.<br>";
$nom=$_FILES['foto']['name'];
echo "<img src=\"$nom\">";
move_uploaded_file($tmp_name,$uploads_dir);
?>
Se guardan en la raiz del host y tiene que ser en la carpeta /fotos
  #6 (permalink)  
Antiguo 18/12/2009, 18:35
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Upload dudas

mira este es uno q hice hace rato:


cargar archivo

Dentro de un FORM

Código HTML:
<input type="hidden" name="lim_tamano" value="500000" />
<input type="file" name="archivo"> 
despues lo envio a un PHP por metodo POST

Código PHP:
<? 
$fecha 
date("j-m-Y H_i_s");
mkdir ("c:/upload/".$fecha); //ak creo una carpeta con la fecha y hora, para que no se pisen lor archivos.
$fichero="c:/upload/";   // ak defino el directorio.
copy ($archivo,"$fichero/$fecha/$archivo_name"); //y ak me lo sube.
?>
Espero q te sirva
  #7 (permalink)  
Antiguo 18/12/2009, 18:43
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Upload dudas

Tio, yo lo que necesito es que cuando un user se registre en la misma pagina de registrar selccione el avatar,y se guarde en la carpeta /fotos con el nombre del usuario
Osea me da igual que una imagen borre a otra por que luego si quieren canviar el avatar tendra que borrar una imagen a otra y asi no peto el host.
  #8 (permalink)  
Antiguo 18/12/2009, 18:55
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Upload dudas

Cita:
Iniciado por angel1993 Ver Mensaje
Tio, yo lo que necesito es que cuando un user se registre en la misma pagina de registrar selccione el avatar,y se guarde en la carpeta /fotos con el nombre del usuario
Osea me da igual que una imagen borre a otra por que luego si quieren canviar el avatar tendra que borrar una imagen a otra y asi no peto el host.
Y que te parece si en ves de poner $fecha pones $usuario...
Te di un ejemplo vos usalo a tu modo....


Suerte.

NOTA: si usas MKDIR para crear la carpeta .... la segunda ves q ejecute ese php va a salir error, ya que no puede crear la misma carpeta ( ejemplo si usas $usuario, por eso puse fecha, aunque no te sirva :S).
  #9 (permalink)  
Antiguo 18/12/2009, 19:38
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Upload dudas

yo ocupo este codigo: espero y te sirva... ( ya que no ocupo copy...)
Código PHP:
$nombre=$_FILES['fichero']['name'];
if(empty(
$_POST['submit'])){
        if(
move_uploaded_file($_FILES['fichero']['tmp_name'], "fotos/".$_FILES['fichero']['name'])){
                    echo 
"Datos: <br />";
                    echo 
$_FILES['fichero']['name']. "<br />";
                    echo 
"PROCESO EXITOSO";
        
    }else{echo 
"ERROR EN ALGUN PUNTO DEL PROCESO";}
}
?> 
mi codigo html para eso es:
Código HTML:
<form action="prueba.php" method="post" enctype="multipart/form-data">
<label>Foto</label>
<input type="file" name="fichero" /><br />
<input type="submit" value="submit"></input>
</form> 
Mi script es mas grande , lo edite en 30 seg..xD cualquier error, ofrezco disculpas
  #10 (permalink)  
Antiguo 18/12/2009, 20:39
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
De acuerdo Respuesta: Upload dudas

Cita:
Iniciado por Vitesse92 Ver Mensaje
yo ocupo este codigo: espero y te sirva... ( ya que no ocupo copy...)
Código PHP:
$nombre=$_FILES['fichero']['name'];
if(empty(
$_POST['submit'])){
        if(
move_uploaded_file($_FILES['fichero']['tmp_name'], "fotos/".$_FILES['fichero']['name'])){
                    echo 
"Datos: <br />";
                    echo 
$_FILES['fichero']['name']. "<br />";
                    echo 
"PROCESO EXITOSO";
        
    }else{echo 
"ERROR EN ALGUN PUNTO DEL PROCESO";}
}
?> 
mi codigo html para eso es:
Código HTML:
Imprime:



<form action="prueba.php" method="post" enctype="multipart/form-data">
<label>Foto</label>
<input type="file" name="fichero" /><br />
<input type="submit" value="submit"></input>
</form> 
Mi script es mas grande , lo edite en 30 seg..xD cualquier error, ofrezco disculpas
ERROR EN ALGUN PUNTO DEL PROCESO


Na mentira no lo provee
  #11 (permalink)  
Antiguo 19/12/2009, 07:17
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Upload dudas

Si tiene un error falta cerrar el prmier if abajo del todo.
No se si es por mi host o que, pero no se guarda osea dice que lo a subido y esas cosas.. pero no se suben :S
  #12 (permalink)  
Antiguo 19/12/2009, 08:20
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Upload dudas

Hola, e encontrado esto en internet
Código PHP:
<?php
$varrand 
substr(md5(uniqid(rand())),0,10);
$varallw = array("image/bmp","image/gif","image/jpeg","image/pjpeg","image/png","image/x-png");
$varpath "http://dominio .com/tmp/";
$varstat "";

if (
$_POST["action"] == "upload") {
if (
is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
$varname $_FILES["imagen"]['name'];
$vartemp $_FILES['imagen']['tmp_name'];
$vartype $_FILES['imagen']['type'];
$nombre $_FILES['imagen']['name'];

if (
in_array($vartype$varallw) && $varname != "") {
$arrname explode("."$varname);
$varname $varrand.".".$arrname[1];
if (
copy($vartemp"tmp/".$varname)) {
$varpath $varpath.$varname;
$varstat "ok";

$ip $_SERVER["REMOTE_ADDR"] ;
$hora date ("H:i:s ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$fecha date ("d-m-Y ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));

$fp fopen("registro.txt""a+");
flock $fp );
fputs ($fp" ".$ip.": ha subido la imagen ".$nombre." renombrada como ".$varname." subida a las: ".$hora." del día ".$fecha."\n" );
fclose ($fp); 

} else {
$varstat "Error al subir el archivo";
}
} else {
$varstat "Archivo no valido";
}
}
}
?>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="413" class="text Estilo2">Sube tu imagen para votamiperro.com</td>
</tr>
<tr>
<form action="upimagen.php" method="post" enctype="multipart/form-data">
<td height="50" valign="top" class="text">
<input name="imagen" type="file" class="casilla" id="imagen" size="35" />
<input name="enviar" type="submit" class="boton" id="enviar" value="Subir imagen" />
<input name="action" type="hidden" value="upload" /> </td>
</form>
</tr>
<?php if ($varstat == "ok") { ?>
<tr>
<td class="textinf"><p><span class="Estilo2"><strong><span class="Estilo3">Imagen subida ya puedes usar este enlace</span>: </strong></span><br>
<?php echo $varpath?>
<br>
</p> </td>
</tr>
<?php } else { ?>
<?php 
if ($varstat != "") { ?>
<tr>
<td class="textinf"><span class="Estilo2"><strong><span class="Estilo3">Er</span>ror:</strong></span><br>
<?php echo $varstat?> </td>
</tr>
<?php ?>
<?php 
?>
</table> 
</body>
</html>
Al final me da igual con que nombre se guarde, lo que pasa que va muy lento cuando lo subo..
e intentado subir una imagen de 2 MB y no e podido mas pequeñas si me a dejado :S
¿tiene solucion?
Tambien molaria que la imagen se pudiese redimensionar y asi ningun basto me sube una imagen de medio GB xDD
  #13 (permalink)  
Antiguo 19/12/2009, 08:21
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Upload dudas

Hola, e encontrado esto en internet
Código PHP:
<?php
$varrand 
substr(md5(uniqid(rand())),0,10);
$varallw = array("image/bmp","image/gif","image/jpeg","image/pjpeg","image/png","image/x-png");
$varpath "http://dominio .com/tmp/";
$varstat "";

if (
$_POST["action"] == "upload") {
if (
is_uploaded_file($_FILES["imagen"]["tmp_name"])) {
$varname $_FILES["imagen"]['name'];
$vartemp $_FILES['imagen']['tmp_name'];
$vartype $_FILES['imagen']['type'];
$nombre $_FILES['imagen']['name'];

if (
in_array($vartype$varallw) && $varname != "") {
$arrname explode("."$varname);
$varname $varrand.".".$arrname[1];
if (
copy($vartemp"tmp/".$varname)) {
$varpath $varpath.$varname;
$varstat "ok";

$ip $_SERVER["REMOTE_ADDR"] ;
$hora date ("H:i:s ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$fecha date ("d-m-Y ",mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));

$fp fopen("registro.txt""a+");
flock $fp );
fputs ($fp" ".$ip.": ha subido la imagen ".$nombre." renombrada como ".$varname." subida a las: ".$hora." del día ".$fecha."\n" );
fclose ($fp); 

} else {
$varstat "Error al subir el archivo";
}
} else {
$varstat "Archivo no valido";
}
}
}
?>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="413" class="text Estilo2">Sube tu imagen para votamiperro.com</td>
</tr>
<tr>
<form action="upimagen.php" method="post" enctype="multipart/form-data">
<td height="50" valign="top" class="text">
<input name="imagen" type="file" class="casilla" id="imagen" size="35" />
<input name="enviar" type="submit" class="boton" id="enviar" value="Subir imagen" />
<input name="action" type="hidden" value="upload" /> </td>
</form>
</tr>
<?php if ($varstat == "ok") { ?>
<tr>
<td class="textinf"><p><span class="Estilo2"><strong><span class="Estilo3">Imagen subida ya puedes usar este enlace</span>: </strong></span><br>
<?php echo $varpath?>
<br>
</p> </td>
</tr>
<?php } else { ?>
<?php 
if ($varstat != "") { ?>
<tr>
<td class="textinf"><span class="Estilo2"><strong><span class="Estilo3">Er</span>ror:</strong></span><br>
<?php echo $varstat?> </td>
</tr>
<?php ?>
<?php 
?>
</table> 
</body>
</html>
Al final me da igual con que nombre se guarde, lo que pasa que va muy lento cuando lo subo..
e intentado subir una imagen de 2 MB y no e podido mas pequeñas si me a dejado :S
¿tiene solucion?
Tambien molaria que la imagen se pudiese redimensionar y asi ningun basto me sube una imagen de medio GB xDD y como se registrara gente que no save de informatica no puedo ponerle un tope y decirle que reduzca el tamaño pro que no sabra..
  #14 (permalink)  
Antiguo 19/12/2009, 09:04
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Upload dudas

eso seria con muchos condicionales u.u jojo, en las FAQ's creo que puedes encontrar algo de eso angel1993... suerte!
  #15 (permalink)  
Antiguo 19/12/2009, 09:30
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Upload dudas

Cita:
Iniciado por angel1993 Ver Mensaje
.....
Al final me da igual con que nombre se guarde, lo que pasa que va muy lento cuando lo subo..
e intentado subir una imagen de 2 MB y no e podido mas pequeñas si me a dejado :S
¿tiene solucion?
Tambien molaria que la imagen se pudiese redimensionar y asi ningun basto me sube una imagen de medio GB xDD y como se registrara gente que no save de informatica no puedo ponerle un tope y decirle que reduzca el tamaño pro que no sabra..
Un minuto.... resulta que no estas subiendo la imagen en tu host local, y que estas contratando un hosting?
eso es correcto?
bueno el problema es que el hosting te esta limitando el upload :D
te recomiendo que hables con ellos para encontrar una solucion.
otra anterior mente te puse un codigo para limitar el tamaño del archivo:
Código:
<input type="hidden" name="lim_tamano" value="500000" />
en el php pondrias:
Código PHP:
if ($archivo != "none" AND $archivo_size != AND $archivo_size <=$lim_tamano){ ........................... 
saludos
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 11:19.