Ver Mensaje Individual
  #10 (permalink)  
Antiguo 11/01/2009, 14:32
losporros
 
Fecha de Ingreso: noviembre-2005
Ubicación: Torreon Coahuila
Mensajes: 100
Antigüedad: 19 años
Puntos: 1
Respuesta: descarga imagenes con ruta automatica

Código PHP:
function descargar_archivos($url_descargar,$nombre_nuevo,$nombre_imagen,$tamano_archivo_guardado)
{

  if (@
fopen($url_descargar"r"))
    {
                    if(
$nombre_nuevo==NULL)
                {
                    
$titulo_archivo="Vacio_".$nombre_nuevo;
                }
                else
// contiene titulo
                
{
                    
$titulo_archivo=$nombre_nuevo;
                }
            
// carpeta con permisos 777
                
$carpeta_destino="descargas_imagenes/$titulo_archivo";
                
                
$tamano_a_descargar=filesize($carpeta_destino); // Checa el tamano del archivo
            
         
if($tamano_archivo_guardado==$tamano_a_descargar AND !empty($tamano_archivo_guardado))
         {
         }
        else
        {
            
                      
// Preparativos
              
$url_descargar str_replace(' ''%20'html_entity_decode($url_descargar)); // dando formato a url
              
if (file_exists($carpeta_destino)) 
              { 
                  
chmod($carpeta_destino0777); 
              } 
// añadir permiso de escritura
                            
                 
              // Inicia transferencia
              
if (($rh fopen($url_descargar'rb')) === FALSE
              { 
                  return 
false
              } 
// fopen() handles
            
              
if (($wh fopen($carpeta_destino'wb')) === FALSE
              { 
                  return 
false
              } 
// mensajes de error.
              
              
while (!feof($rh))
              {
                
// incapaz de escribir en el archivo, posiblemente debido a que el disco duro esta lleno
                
if (fwrite($whfread($rh1024)) === FALSE
                { 
                    
fclose($rh); 
                    
fclose($wh); 
                    return 
false
                }
                
              }
            
              
// Terminado sin errores
              
fclose($rh);
              
fclose($wh);
              @
chmod($carpeta_destino0777);
              
                echo
"<p>";
                
//echo "Tamano de archivo a descargar =  $tamano_a_descargar<br>";
                //echo "Tamano de archivo guardado = $tamano_archivo_guardado<br>";
                
echo "URL= $url_descargar<br>";
               
// echo "Guardado como = $nombre_nuevo<br>";
                
echo "imagen= $nombre_imagen<br><br>";
                echo 
"</p>";
        }
    } 
    else
    {
        echo
"<p>
        <font size='2' color='red'><b>No se pudo abrir o no existe la URL, favor de checarlo<br> "
;
        echo
" URL = $url_descargar <br>";
        echo
" Imagen=  $nombre_imagen </b></font></p>";
    } 

    
   
}


conectar();
        
$query="SELECT *";
        
$query.=" FROM tabla_imagenes";    
        
$query.=" ORDER BY id DESC";        
$query=mysql_query($query) or die(mysql_error());
$total=mysql_num_rows($query);
        if(
$total==0)
        {
            echo
"<p><label for='id_imagenes' class='left'>Imagenes:</label>";
            echo 
"No hay imagenes para actualizar";
            echo 
"</p>";
        } 
         else
         {
        echo
"<p><label for='id_imagenes' class='left'>Imagenes:</label></p>";  
        while (
$rs mysql_fetch_array($query))
              {  
                 
$url_descargar=trim($rs[URL_descarga]);
                 
$nombre_nuevo basename($url_descargar);        
                 
$nombre_imagen=trim(htmlentities($rs[nombre_imagen])); 
                 
$archivo_guardado="descargas_imagenes/$nombre_nuevo";
                 
$tamano_archivo_guardado=filesize($archivo_guardado);
descargar_archivos($url_descargar,$nombre_nuevo,$nombre_imagen,$tamano_archivo_guardado);
              } 
              echo
"<p><font size='2' color='green'><b>Actualizacion Finalizada</b></font></p>";  

        } 

Aqui tienes un ejemplo de la funcion que utilizo yo para descargar archivos desde un dominio hacia una carpeta de mi servidor, los archivos que descargo me se los nombres y los registro en la base de datos.
Echale un ojo al codigo y te servira
saludos...