Foros del Web » Programando para Internet » PHP »

¿Como hacer este codigo mas digerible?

Estas en el tema de ¿Como hacer este codigo mas digerible? en el foro de PHP en Foros del Web. Vereis tengo este codigo Código PHP: / paso 1 :  el fichero de texto $i = 1 ; $archivo = fopen ( "archivo.txt" , "r" ); while( $linea = ...
  #1 (permalink)  
Antiguo 10/03/2010, 17:35
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 3 meses
Puntos: 5
¿Como hacer este codigo mas digerible?

Vereis tengo este codigo

Código PHP:
/paso 1el fichero de texto

$i
=1;
$archivo=fopen("archivo.txt","r");
while(
$linea=fgets($archivo)){
    echo 
$i;
    echo 
" - ";
    echo 
$linea;
    
$vector[$i]=trim($linea);
    echo 
"<br>";
    
$i++;
}

fclose($archivo);


echo 
"<hr>";

//Paso 2: los archivos
$dir=opendir("imagenes");
$i=1;
while(
$a=readdir($dir)){
    if((
$a!=".")AND($a!="..")){
    echo 
$i;
    echo 
" - ";
    echo 
$a;
    
    
$partes=explode(".",$a);
    
    
rename("imagenes/".$a,"imagenes/".$partes[0].$vector[$i].".".$partes[1]);
    
    
    echo 
"<br>";
    
$i++;
    }
}
closedir($dir); 
Que lo que hace es lo siguiente, primero simplemente va a un directorio encuentra un fichero de texto y muestra el contenido autonumerado, es decir

si tenemos lo siguiente en el fichero de texto

titulo1
titulo2
titulo3
titulo4
.
.
.
titulon

la primera parte del fichero haria algo asi

01 - titulo1

02 - titulo2

03 - titulo3

04- titulo4
.
.
.
xx - titulon

Y la segunda parte unicamente lee el contenido de una carpeta, y mete en un vector todo aquello que este separado por un punto.
Es decir que si tenemos
titulo.jpg

el vector resultante seria asi
$partes[0]=titulo
$partes[1]=jpg

Pues bien, ¿Que hacemos con el rename? pues lo siguiente

supongamos que tenemos en el fichero de texto 1 unico registro y en la carpeta de la segunda parte tenemos un archivo.
El contenido del fichero de texto es

La ciudad perdida

Y el archivo que tenemos es este

01 - LOST - .jpg

Al ejecutar el fichero nos daria este resultado

01 - LOST - La ciudad perdida.jpg

Es decir coge los titulos del fichero de texto y los añade justo antes de la extension.

Lo que yo quiero es automatizar esto un poco ya que siempre tenemos que partir del directorio imagenes, el archivo de texto siempre se tiene que llamar archivo.txt, a no ser que vayamos al codigo y lo cambiemos.

Lo que quiero es crear como una especie de formulario que tu puedas seleccionar donde esta el fichero de texto, que tu puedas seleccionar la carpeta con los ficheros y que todas las rutas concernientes a esa carpeta se modifiquen con la actual cuando tu la selecciones, para que cuando le des a un boton submite te haga el renombrado.

No sé si se entiende esta ultima parte, es para que salga una ventana te permita elegir el directorio, que en mi ejercicio es imagenes y que puedas seleccionar el que quieras, por ejemplo videos, y en todo el codigo donde antes ponia la direccion de las imagenes, que ahora ponga la direccion de los videos

No sé si queda claro.

Gracias
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #2 (permalink)  
Antiguo 10/03/2010, 17:49
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años
Puntos: 14
Respuesta: ¿Como hacer este codigo mas digerible?

Hmmm, a ver si entendí. Recibirías un fichero .txt como un upload y a partir de allí realizarías la ejecución del código, digamos que de esta forma sería algo "dinámico", y no "estático" como lo tienes ahora trabajando con un mismo fichero. Para recibir archivos desde un formulario, tendrás que consultar un poco sobre el tipo file en formularios (así como trabajas con text), harías una leve modificación en el formulario para que te reciba archivos, y trabajarías genial. En términos generales no es complicado.
Si no he sido claro o te puedo ayudar en más, con mucho gusto lo haré.
Saludos
__________________
Sólo quien nunca nada hace, nunca se equivoca.
  #3 (permalink)  
Antiguo 10/03/2010, 18:57
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 3 meses
Puntos: 5
Respuesta: ¿Como hacer este codigo mas digerible?

Mas que recibir algo seria simplemente, que te aparezca un desplegable y poder seleccionar el fichero, y una vez selecionado se te guardara la ruta donde esta el fichero,
es decir en vez de poner esto
$archivo=fopen("archivo.txt","r");

el archivo txt seria cualquier otro archivo de texto y aparte apareceria la ruta, es decir algo asi

$archivo=fopen("c:\archivos de programa\datos.txt","r");

pero sin tener que escribirlo pudiendo seleccionar tu el archivo para que te calcule la ruta, y luego en el apartado de las imagenes de abajo lo mismo, y que cuando le demos a un submit en vez de mandarnos a otro lado, simplemente que ejecute el codigo. Ya que tal y como esta ahora, nada mas que seleccionas el archivo se ejecuta el codigo y la idea es que te muestre como queda y luego tu dandole al boton puedas o no ejecutar el codigo y renombrar.
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #4 (permalink)  
Antiguo 10/03/2010, 19:30
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años
Puntos: 14
Respuesta: ¿Como hacer este codigo mas digerible?

Pero igualmente necesitaras un formulario con un type = file, de esta forma recibirás el archivo. Así podrás, o recibir el archivo u obtener la ruta.
__________________
Sólo quien nunca nada hace, nunca se equivoca.

Etiquetas: mas
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 12:27.