Foros del Web » Programando para Internet » PHP »

subir foto

Estas en el tema de subir foto en el foro de PHP en Foros del Web. necesito subir una foto y guardarla en una carpeta en especifico... no en una temporal ($_FILES['archivo']['tmp_name']) para luego de verla guardado acerle un thumb y ...
  #1 (permalink)  
Antiguo 19/11/2010, 15:05
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 2 meses
Puntos: 1
subir foto

necesito subir una foto y guardarla en una carpeta en especifico... no en una temporal ($_FILES['archivo']['tmp_name'])

para luego de verla guardado acerle un thumb y así mostrar
en pantalla las 2 fotos, (grande y chica)
__________________
- Ingeniero en Informática -
  #2 (permalink)  
Antiguo 19/11/2010, 15:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: subir foto

usa move_uploaded_file()
http://php.net/move_uploaded_file
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/11/2010, 15:26
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: subir foto

Este es un script que personalize a mi medida, adaptalo a tus necesidades y nos cuentas.

Código PHP:
<form action="" method="post" enctype="multipart/form-data" name="formu" id="formu">
  <table width="100%" border="0" align="center" cellspacing="20">
    <tr>
      <td align="center" valign="middle"><input name="action" type="hidden" value="upload" /><input type="file" name="archivos" /></td>
    </tr>
    <tr>
      <td align="center" valign="middle"><input type="submit" name="envia" id="envia" value="Subir Imagen" /></td>
    </tr>
  </table>

<?php 
   
if ($_POST["action"] == "upload"
   {
        
$tamano $_FILES["archivos"]['size'];
           
$tmp_name $_FILES["archivos"]["tmp_name"];
           
$name $_FILES["archivos"]["name"];
        
        
//Genera nombre aleatorio de 6 caracteres
        
$prefijo substr(md5(uniqid(rand())),0,6);
        
        
//Extraigo la extension de la imagen    
        
$tipo end(explode("."$name));
        
        
//Creo una variable con el directorio donde se guardara la imagen, concateno la variable $prefijo que es el nombre aleatorio que se le asignara a la imagen y concateno con $tipo que es la extencion final del archivo
        
$destino =  "../../../images/upload/".$prefijo.".".$tipo;
        
        
//Evaluo si el archivo se copio a la carpeta de destino que la especifico en la variable $destino, si se copio muestro un mensaje
        
if (copy($_FILES["archivos"]["tmp_name"],$destino))
        {
            echo 
"<div align='center'>Archivo subido: ".$name."<br />";
            echo 
"<input type='text' readonly='readonly' size='40' name='direccion' value='".$destino."' /><input type='button' value='Copiar' onclick='copiadireccion()'>";
        }
        else
        
//Si no se copio el archivo muestro mensaje de error.
        
{
            echo 
"Error al intentar subir al archivo";
        }
   }   
?>
</form>
<div align="center">
    <input type="button" name="button" id="button" value="Cerrar" onclick="cerrar()" />
</div>
  #4 (permalink)  
Antiguo 19/11/2010, 15:43
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: subir foto

pruebo.. gracias =)
__________________
- Ingeniero en Informática -
  #5 (permalink)  
Antiguo 19/11/2010, 15:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: subir foto

anacona16, tu script esta mal...

la función copy() no es la correcta para un formulario de uploads, para eso existe la función move_uploaded_file()

usar copy() puede traer problemas de configuración en ciertos entornos, mal consejo de tu parte...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 19/11/2010, 15:52
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: subir foto

Bueno si tienes razon (aunque asi funciona), ya habia leido eso, y no lo habia modificado pues no lo habia necesitado, pero si tengo esto:

Código PHP:
if (copy($_FILES["archivos"]["tmp_name"],$destino)) 
Correctamente seria asi:

Código PHP:
if (move_uploaded_file($_FILES["archivos"]["tmp_name"],$destino)) 

Etiquetas: foto, subir
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 19:30.