Foros del Web » Programando para Internet » PHP »

copiar Archivos locales a Servidor

Estas en el tema de copiar Archivos locales a Servidor en el foro de PHP en Foros del Web. Buenas a todos y antes de nada FELIZ AÑO! bueno el problema ke tengo esk tengo este script de PHP Código PHP: $dir  =  opendir ...
  #1 (permalink)  
Antiguo 31/12/2008, 06:41
 
Fecha de Ingreso: enero-2008
Mensajes: 58
Antigüedad: 16 años, 3 meses
Puntos: 1
copiar Archivos locales a Servidor

Buenas a todos y antes de nada FELIZ AÑO!

bueno el problema ke tengo esk tengo este script de PHP

Código PHP:
$dir opendir("ftp://x:[email protected]/F:/iTunes/iTunes Music/");
                while(
$file readdir($dir)){
                if(
$file != "." and $file != ".." and $file != "Thumbs.db" and $file != "_notes"){
                if(
$file == $art){
                    
$dir2 opendir("ftp://x:[email protected]/F:/iTunes/iTunes Music/$file/");
                        while(
$file2 readdir($dir2)){
                        if(
$file2 != "." and $file2 != ".." and $file2 != "Thumbs.db" and $file2 != "_notes"){
                        if(
$file2 == $alb){
                            
$dir3 opendir("ftp://x:[email protected]/F:/iTunes/iTunes Music/$file/$file2/");
                                while(
$file3 readdir($dir3)){
                                if(
$file3 != "." and $file3 != ".." and $file3 != "Thumbs.db" and $file3 != "_notes" and !eregi(".jpg",$file3)){
                                if(
$file3 == $track." ".$can.".mp3"){
                                echo 
$file3."-".$track." ".$can.".mp3 si CANCION<br/>";
                                
                                
$filename "ftp://x:[email protected]/F:/iTunes/iTunes Music/$file/$file2/$file3";
                                require_once(
'../colocar_musica/getid3/getid3.php');
                                
$getID3 = new getID3;
                                
$ThisFileInfo $getID3->analyze($filename);
                                
getid3_lib::CopyTagsToComments($ThisFileInfo);
                                
                                
$artista = @$ThisFileInfo['id3v1']['artist']; 
                                
$cancion = @$ThisFileInfo['id3v1']['title'];
                                
$album = @$ThisFileInfo['id3v1']['album'];  
                                
$url = @$ThisFileInfo['filenamepath'];
                                
$location "musica/musica/".$artista."/".$album."/".$cancion.".mp3";
                                
$track = @$ThisFileInfo['id3v1']['track']; 
                                
$duracion = @$ThisFileInfo['playtime_string'];                      
                                
$genero = @$ThisFileInfo['id3v1']['genre'];     
                                
$ano = @$ThisFileInfo['id3v1']['year'];                  
                                
$letra = @$ThisFileInfo['lyrics3']['raw']['tag_offset_start']; 
                                
$compositor = @$ThisFileInfo['tags']['id3v2']['composer'][0]; 
                                
$tamano = @$ThisFileInfo['filesize'];
                                
$fecha date("d-m-Y");
                                
                                
$vSourceFile "ftp://x:[email protected]/F:/iTunes/iTunes Music/$file/$file2/$file3";
                                
$vImageName $cancion.".mp3";
                                
$vFoldername "../../musica/musica/".$artista."/";
                                if(!
is_dir($vFoldername)){
                                    
mkdir($vFoldername0777); //#-- Create a new session directory
                                    
chmod($vFoldername0777); //#-- Set all the access permissions to the folder
                                
}
                                
$vFoldername2 "../../musica/musica/".$artista."/".$album."/";
                                if(!
is_dir($vFoldername2)){
                                    
mkdir($vFoldername20777); //#-- Create a new session directory
                                    
chmod($vFoldername20777); //#-- Set all the access permissions to the folder
                                
}
                                if(
copy($vSourceFile,$vFoldername2.$vImageName)){
                                    
$vStatus "bien";
                                }else{
                                    
$vStatus "mal";
                                }
    }}}
                        }}}
                }}} 
Lo que no tengo muy claro es la manera en que debo poner las rutas para acceder a las carpetas en mi ordenador y una vez dentro copiar los archivos que haya dentro de la carpeta!
que fallo tengo? o que puedo hacer?
Gracias!
  #2 (permalink)  
Antiguo 31/12/2008, 10:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: copiar Archivos locales a Servidor

Espero no te ofendas, pero tienes muchos fallos, el primero pensar que con opendir vas a poder leer un FTP, para eso tienes la extensión de FTP de PHP. Segundo para poder copiar de esa forma "transparente" de tu ordenador al server forzosamente vas a tener que instalar un servidor FTP en tu maquina y conectarte al servidor FTP de tu servidor.

En concreto el código que publicas tal cual no te va a servir, vas a tener que ver como usar la extensión ftp de PHP para copiar los archivos y luego procesarlos.

Saludos.
  #3 (permalink)  
Antiguo 04/01/2009, 07:05
 
Fecha de Ingreso: enero-2008
Mensajes: 58
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: copiar Archivos locales a Servidor

Buenas, la verdad que tenias razon! despues de empaparme un poco con el tema consegui este codigo:

primero me conecto al FTP:

Código PHP:
define("SERVER","X"); //IP o Nombre del Servidor
define("PORT",21); //Puerto
define("USER","X"); //Nombre de Usuario
define("PASSWORD","X"); //Contraseña de acceso
define("PASV",true); //Activa modo pasivo
function ConectarFTP(){
//Permite conectarse al Servidor FTP
$id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP
ftp_login($id_ftp,USER,PASSWORD); //Se loguea al Servidor FTP
ftp_pasv($id_ftp,MODO); //Establece el modo de conexión
return $id_ftp//Devuelve el manejador a la función
}
function 
SubirArchivo($archivo_local,$archivo_remoto){
//Sube archivo de la maquina Cliente al Servidor (Comando PUT)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
ftp_put($id_ftp,$archivo_remoto,$archivo_local,FTP_BINARY);
//Sube un archivo al Servidor FTP en modo Binario
ftp_quit($id_ftp); //Cierra la conexion FTP
}
function 
ObtenerRuta(){
//Obriene ruta del directorio del Servidor FTP (Comando PWD)
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$Directorio=ftp_pwd($id_ftp); //Devuelve ruta
ftp_quit($id_ftp); //Cierra la conexion FTP
return $Directorio//Devuelve la ruta a la función

y a continuacion lo que quiero es poder acceder a mi ordenador
para utilizar la funcion "ftp_put()" y copiar los archivos que quiera.
He empezado de esta manera:
Código PHP:
$id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP
$ruta=ObtenerRuta()."www/musica/musica/"//Obtiene la ruta actual en el Servidor FTP
echo "<b>El directorio actual es: </b> ".$ruta;
$lista=ftp_nlist($id_ftp,$ruta); //Devuelve un array con los nombres de ficheros
$lista=array_reverse($lista); //Invierte orden del array (ordena array)
while($item=array_pop($lista)){
    echo 
$item;
}

$dir opendir("F:\\iTunes\\iTunes Music\\");
    while(
$file readdir($dir)){
        if(
$file != "." and $file != ".." and $file != "Thumbs.db" and $file != "_notes"){
            echo 
$file;
        }

y no se si la ruta del opendir esta asi bien puesta o que no se puede hacer un opendir...no estoy segura porque en el "echo $file" no me muestra nada ni tampoco un error...
Gracias
  #4 (permalink)  
Antiguo 04/01/2009, 15:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: copiar Archivos locales a Servidor

A menos que estes ejecutando ese script como local, dudo que te vaya a funcionar, ya que la ruta de opendir debe de ser accesible localmente para el parser de PHP, por eso mi insistencia de que debes de usar un servidor de FTP también en tu maquina.

Saludos.
  #5 (permalink)  
Antiguo 04/01/2009, 17:24
 
Fecha de Ingreso: enero-2008
Mensajes: 58
Antigüedad: 16 años, 3 meses
Puntos: 1
Ya tengo uno,el Filezilla.
Ahora que debo hacer?,lo que no se es exactamente que ruta debo poner o utilizar...
gracias!

Porfavor alguien puede ayudarme?? seguro que es una tonteria y no tengo idea de como hacerlo!

alguien me puede dar alguna idea?? lo unico que no es que ruta poner si a la ruta a la que quiero acceder localmente es "F:/iTunes/iTunes Music/"

Última edición por GatorV; 08/01/2009 a las 09:54
  #6 (permalink)  
Antiguo 06/01/2009, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: copiar Archivos locales a Servidor

Pues si configuras Filezilla como servidor FTP, en tu maquina local vas a tener que hacer un alias a alguna carpeta para poderla leer via una URL.

Eso es tema fuera de este foro, en el foro de Windows o Software General te pueden ayudar a hacerlo.

Saludo
  #7 (permalink)  
Antiguo 08/01/2009, 07:12
 
Fecha de Ingreso: enero-2008
Mensajes: 58
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: copiar Archivos locales a Servidor

Gracias por la respuerta, ya he posteado en donde me dices y espero una respuesta y aparte estoy investigando a ver si lo resuelvo yo misma.
Un saludo!!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:36.