Foros del Web » Programando para Internet » PHP »

subir fotos a carpeta en servidor

Estas en el tema de subir fotos a carpeta en servidor en el foro de PHP en Foros del Web. Hola,necesito saber como se puede hacer para guardar fotos en una carpeta del servidor,almacenando su ruta en una bbdd....
  #1 (permalink)  
Antiguo 30/11/2004, 05:59
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 9 meses
Puntos: 0
subir fotos a carpeta en servidor

Hola,necesito saber como se puede hacer para guardar fotos en una carpeta del servidor,almacenando su ruta en una bbdd.
  #2 (permalink)  
Antiguo 30/11/2004, 15:35
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 10 meses
Puntos: 2
Hola, lo que pides es simple, pero a su vez no es seguro, ya que la carpeta tendrá que tener permisos de escritura (777).

Lo primero que tienes que hacer es un formulario codificado con multipart/form-data con 1 campo FILE y un boton (es decir, 2 campos seran los necesarios, luego tu tendrás que ver si necesitas algunos HIDDEN para user, o limitar el upload a X bytes).
El campo FILE lo nombras archivo_usuario
El form sería algo asi:

Código:
<form enctype="multipart/form-data" method="POST" target="arriba" action="upload.php">
<input type="file" name="archivo_usuario" size="45"></td>
<input type="submit" value="Enviar" name="enviar"></td>
</form>
Luego, en el mismo directorio en donde se encuentra el archivo con el form, pondras un archivo con el nombre upload.php, que tendrá el siguiente contenido:

upload.php
Código:
<?php
if ($_POST[enviar] != "") {
$directorio = '/home/user_name/public_html/fotos/';
if (move_uploaded_file($_FILES['archivo_usuario']['tmp_name'], $directorio . $_FILES['archivo_usuario']['name']))
  {
  //AQUI PONES El CODIGO PARA GUARDARLA EN UNA BASE DE DATOS, SEGURAMENTE SABES COMO HACER ESTO (ES MUY SIMPLE)
echo 'LA IMAGEN FUE GUARDADA CORRECTAMENTE';
}
else {
echo '
//AQUI DIO UN ERROR, POR LO QUE LA IMAGEN NO SE GUARDA
echo 'LA IMAGEN NO PUDO GUARDARSE, SE PRODUJO UN ERROR';
}
}
?>
Creo que tendría que funcionar bien, es muy simple...

En donde tienes que guardarla a una DB, solo tienes que crear una tabla con 2 campos , ID y url, en donde ID tendrá que ser AUTO INCREMENT y luego solo haces una conexion a dicha tabla y agregas la URL que sería $directorio más el nombre del archivo, algo asi
$url = $directorio . $_FILES['archivo_usuario']['name'];

PD: $directorio es la URL donde guardaras las fotos, solo que es la url INTERNA del servidor, para que no de errores. PERDON SI HAY ERRORES!
__________________
I Love Programming...

Última edición por FuLaNo_; 30/11/2004 a las 15:36 Razón: error
  #3 (permalink)  
Antiguo 01/12/2004, 08:56
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 9 meses
Puntos: 0
Gracias me funciono a las mil maravillas,era sencillo,pero al ser principiante todo te parece complicado.
  #4 (permalink)  
Antiguo 01/12/2004, 13:15
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 10 meses
Puntos: 2
De nada.

PD: cuando se deja de ser principiante? (yo tengo serios problemas!)
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 01/12/2004, 14:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por FuLaNo_
De nada.

PD: cuando se deja de ser principiante? (yo tengo serios problemas!)
Nunca xDDD .. yo sigo aprendiendo todavía ...

Última edición por Cluster; 01/12/2004 a las 14:36
  #6 (permalink)  
Antiguo 05/11/2005, 11:29
Avatar de chinoloco  
Fecha de Ingreso: julio-2003
Mensajes: 83
Antigüedad: 20 años, 9 meses
Puntos: 1
problemas con uppload de fotos

Hola amigos del foro, tengo un problema con el up pload de fotos este es mi codigo

consulta.php
Código PHP:
<?
session_start
();
?>

<html>
<head>
<title>Consulta Dr. D'angelo Ramos</title>
<?
$link
=mysql_connect("localhost","root","") or die ("error Conexion");
mysql_select_db("bd_dangelo",$link) or die ("error en la base de datos");
?>
</head>

<body>

  <table  border="0" >
  
  <form name="form1" method="post" action="grabaconsulta.php" enctype="multipart/form-data">
  <input type="hidden" name="tabla" value="consultas">
      <input type="hidden" name="id" value="<?=$id?>">
    <input type="hidden" name="foto" value="$foto">

    <tr> 
      <td height="16" colspan="6">El campo marcado con asterisco (*) es opcional.
        <hr>
    </td></tr>
   <tr> 
      <td height="30">Nombres&nbsp;&nbsp;</td>
      <td colspan="3"><input name='nombres'  size="30" value="<?=$nombres?>"> </td>
      
    </tr>
      <tr>
    <td width="30">Apellido:&nbsp;&nbsp;</td> 
    <td ><input type="text" name="apellidos" size="30" value="<?=$apellidos?>">
    <td width="6" rowspan="8">&nbsp;</td>
   <tr>
    <tr>
    <td width="30">Email:&nbsp;&nbsp;</td> 
    <td ><input type="text" name="correo" size="30" value="<?=$correo?>">
   <tr>
     <tr> 
      <td width="30">Pais</td>
      <td colspan="4"><select name="pais">
                                     <option value="<?=$pais?>">[Elije tu Pais de la Lista]
                                     <option>Argentina</option>
                                     <option value="Armenia">Armenia</option>
                                  <option value="Australia">Australia</option>
                                  <option value="Zambia">Zambia</option>


              </select> 
      </td>
    </tr>
    <tr> 
      <td width="30">Ciudad</td>
      <td colspan="3"><input name=ciudad type="text" size="30"  value="<?=$ciudad?>"></td>
      <td width="6" rowspan="8">&nbsp;</td>
    </tr>
    <tr>
    <td width="30">Consulta:</td> 
    <td width="323" ><textarea name="consulta"  rows="3"  cols="25" size="30" value="<?=$consulta?>">></textarea>
    </tr>
    <tr> 
      <td width="30" >Foto(*)</td>
      <td colspan="4"><input name=foto id=foto type="file" size="30" value="<?=$foto?>"> 
    </tr>
    <tr> 
      <td height="13" colspan="2"></td>
      <td colspan="4"> </td>
    </tr>

    <tr> 
      <td colspan="2">&nbsp;</td>
      <td colspan="4">&nbsp;</td>
    </tr>
    <tr> 
      <td height="25" width="145">&nbsp; </td>
      <td height="25" colspan="2"><input type="submit" class="frm2" name="enviar" width="10" value="Enviar">
    <input type="button" class="frm2" width="180" name="Submit2" value="Cancelar" onClick="history.back()" style="WIDTH: 100px; HEIGHT: 22px"></td>
      <td width="7" height="25">&nbsp;</td>
    </tr>
    
    </form>
  </table>
  <hr>
</form>

</body>
</html>
grabanoticias.php
Código PHP:
<?

$link
=mysql_connect("localhost","root","") or die ("error Conexion");
mysql_select_db("bd_dangelo",$link) or die ("error en la base de datos");
/*if($foto=="none"){
$foto="consultas/nohayimagen.jpg";
}
else{
        if (isset($_POST['submit'])) { 
            $ruta= "consultas/".$_FILES['foto']["name"]; // Se guardaría dentro de "carpeta" con el nombre original 
            // $ruta= "carpeta/nuevo_nombre.jpg"; si también se quiere renombrar 
            //move_uploaded_file($_FILES['foto']["tmp_name"], $ruta); 
            move_uploaded_file($_FILES["foto"]["tmp_name"],$_FILES["foto"]["name"]); 
            $foto="consultas/".$_FILES["foto"]["name"];
          }
}                       
$sql="insert into consultas values('','$nombres','$apellidos','$correo','$pais','$ciudad','$consulta','$foto')";
mysql_query($sql) or die("error al insertar el nuevo fotos");
*/

if ($_POST[enviar] != "") {
$directorio "imagenes/";
if (
move_uploaded_file($_FILES["foto"]["tmp_name"], $directorio $_FILES['foto']["name"]))
  {
  
$sql="insert into consultas values('','$nombres','$apellidos','$correo','$pais','$ciudad','$consulta','$foto')";
   
mysql_query($sql) or die("error al insertar el nuevo fotos");
  
// echo 'LA IMAGEN FUE GUARDADA CORRECTAMENTE';
   
}
   else {

   
//AQUI DIO UN ERROR, POR LO QUE LA IMAGEN NO SE GUARDA
    
echo 'LA IMAGEN NO PUDO GUARDARSE, SE PRODUJO UN ERROR';
  }
}

header("location: mensaje.php");
?>

bueno cuando me graba , me graba sol el temp, he probado con los indcies con comillas dobels y nada , espero q me ayuden...
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 03:50.