Foros del Web » Programando para Internet » PHP »

Subir ficheros

Estas en el tema de Subir ficheros en el foro de PHP en Foros del Web. Hola: A la hora de subir una imagen al servidor mediante un formulario, en la bd dejo la ruta de la imagen además de una ...
  #1 (permalink)  
Antiguo 11/04/2006, 13:17
 
Fecha de Ingreso: abril-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
Subir ficheros

Hola:

A la hora de subir una imagen al servidor mediante un formulario, en la bd dejo la ruta de la imagen además de una descripción, como puedo hacer para que en el servidor la imagen se guarde con un nombre distinto al que tiene en mi ordenador, por ejemplo que se grabe con un nombre correlativamente(ej.: imagen01, imagen02, imagen03...).
Dejo el codigo que estoy utilizando para el que me quiera ayudar.
El formulario esta en "insertar_foto.php" y el codigo php esta en "insertar_foto2.php".

insertar_foto.php

Código PHP:
Código PHP:
<form action="insertar_foto2.php" method="post" enctype="multipart/form-data"> 
<input type="hidden" name="id" value="<?php echo $campos["id"]; ?>"> 
<table border="0" align="center"> 
  <tr> 
  <input type="hidden" name="MAX_FILE_SIZE" value="1500000"> 
    <td align="right">Foto:</td> 
    <td><input name="imagen" type="file" size="50"></td> 
  </tr> 
   <td align="right">Album</td> 
      <td> 
    <?php 
        $basedatos
=mysql_connect("localhost","root","root"); 
        
mysql_select_db("mipc",$basedatos);  
         
        
$resultado=mysql_query("SELECT * FROM Albunes",$basedatos); 
    
?> 
    <select name="album"> 
        <?php while ($campos=mysql_fetch_array($resultado)) { ?> 
        <option value="<?php echo $campos["album"]; ?>"><?php echo $campos["album"]; ?></option> 
        <?php ?> 
    </select>     
    </td> 
  <tr> 
    <td align="right">Descripci&oacute;n:</td> 
    <td><textarea name="descripcion" cols="50" rows="5"></textarea></td> 
  </tr>  
   
  <tr> 
  
  </tr>  
   
    <td colspan="2" align="center"><input type="submit" value="Enviar Foto"></td> 
   
</table>     
</form>

insertar_foto2.php

Código PHP:
Código PHP:
<?php 
   
if (count($_POST) > ) {    $id $_POST["id"];             
    
$descripcion $_POST["descripcion"]; 
    
$album $_POST["album"]; 
    
$imagen $_FILES["imagen"]["name"];     
    
$fichero $imagen;      
                         
    
$sql "INSERT INTO Fotos (descripcion, album, imagen) "
    
$sql $sql " VALUES ('$descripcion', '$album', '$imagen')"
         
    
$servidor mysql_connect ("localhost""root""root"); 
    
mysql_select_db("mipc"$servidor);             
         
    
$resultado mysql_query ($sql$servidor); 
    if (
mysql_errno($servidor) == 0) { 

        if (
is_uploaded_file ($_FILES["imagen"]["tmp_name"]) == true) { 
    
copy($_FILES["imagen"]["tmp_name"], "imagenes/" $_FILES["imagen"]["name"]); 
        }         
    
header("Location:GaleriaFotos.php"); 
    } 

?>
Gracias
  #2 (permalink)  
Antiguo 11/04/2006, 14:01
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 6 meses
Puntos: 55
yo cambiaria eta linea
copy($_FILES["imagen"]["tmp_name"], "imagenes/" . $_FILES["imagen"]["name"]);
por esta otra
if(move_uploaded_file($_FILES["imagen"]["tmp_name"], "imagenes/" . $_FILES["imagen"]["name"]))
echo "movido ok";
else
echo "no se movio :(";
no recuerdo en este momento cual era la rzon por la q el copy fallava
saludos
  #3 (permalink)  
Antiguo 12/04/2006, 04:11
 
Fecha de Ingreso: abril-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
sigo igual

Gracias emilio, pero esa no es la duda que tenia, con tu codigo hago exactamente lo mismo que con lo que tenía.
La duda que tengo es, ¿como puedo subir imagenes al servidor y grabarlas con un nombre correlativamente, (por ejemplo: imagen01, imagen02...), subir me suben las imagenes pero se graban con el nombre que tienen en mi ordenador. Si tengo una imagen que se llama "nevada.jpg" se graba con ese mismo nombre en el servidor, yo quiero que esa imagen en el servidor se grabe con el nombre "imagen01" y la siguiente imagen que suba "imagen02".

Alguien que me pueda ayudar, es lo único que me falta para acabar el proyecto que tengo.
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 01:43.