Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Script Para Copiar Archivos Entre Directorios Del FTP

PHP, HTML, CSS, JS, jQuery, etc.
dinoyoco
Ex Staff
Mensajes: 95
Registrado: 17 Nov 2005, 17:05
Género:

Script Para Copiar Archivos Entre Directorios Del FTP

#1

Mensaje por dinoyoco »

Código: Script
Lenguaje: PHP
Tipo: Utilidad administrador
Dificultad de manejo: ... Normal (haciendo el test, se entiende como funciona)

Aqui os dejo un pequeño script realizado en PHP que he hecho para intentar "acortar" los tiempos que suelo tardar en las actualizaciones del foro. No se si ya existe alguno, porque no he buscado.

Cuando actualizamos un foro, sabemos que va a costar mas de 1 simple click y pasar un tiempo delante de la pantalla. Mi problema, empezó a surgir cuando pasé de un simple foro phpBB a un CMS con secciones de album, descargas, etc... No de por si un CMS engorda el foro (por los MODs que incluye), sino la información que se almacena: graficos, descargas, etc. Y claro, empiezan a aparecer ficheros "gordos" (a parte de la BD).

Para aquel usuario que no tiene conexión ADSL (como yo :( ), es un sufrimiento el día que toca actualizar. Por suerte tengo otros administradores que si disponen de ADSL en caso de necesidad. Pero a lo que voy.

La forma de proceder para evitar tener cerrado el sitio el mayor tiempo posible, consiste en subir poco a poco, los ficheros del nuevo foro a una nueva carpeta temporal. Además, te bajas una copia de los ficheros (y que de paso ya incluiran las imagenes, ficheros,...). El día antes del mantenimiento, se revisa todas esas carpetas en donde se almacenan ficheros (avatares, zona de descargas...) para bajar los nuevos y tener lo mas actualizado posible el foro. El problema del FTP, es que no existe comando para copiar un fichero de una localización a otra. Tienes 2 soluciones: bajarte el fichero, y a continuación subirlo a su nueva localización, o bien usar scripts.

Yo he usado los comandos PHP, junto algunas sentencias del FTP para hacer el trasvase (para que funcionen los comandos FTP en PHP, comprueba que esté habilitado. Para comprobarlo, usa el comando phpInfo()). El script lo que hace es ahorrarme bajarme los ficheros y volver a subirlos, ya que la operación se realiza en el propio servidor.

El script lo que hace es, según un fichero de rutas (directorios), copiar su contenido (solo ficheros) a la nueva localización. Para entender como funciona, se puede realizar un pequeño test (el enlace esta abajo de la pagina). Se que le falta pulirlo y la traduccion al ingles, ya que desde en un principio he intentado que sea manejable. No obstante, si tienes conocimientos de programacion en PHP, ayuda a no perderte y a entender sus entresijos.

Para terminar, puntualizo que esto es un script, una ayuda para las actualizaciones de los foros (por eso no veréis ningún gráfico, a excepción de las banderas, ni ningún estilo formateado). El script te ayuda a copiar esas carpetas de información "variable", por lo que no creo que su finalidad sea hacer un trasvase de una larga lista de carpetas. Recomiendo tener cerrado el foro durante el trasvase, y a ser mejor posible, renombrar los directorios temporalmente mientres dure el proceso. Y cuando no vayas a hacer ningún trasvase, o bien borras el script del servidor o bien lo proteges con usuario y password mediante los .htaccess y .htpassword.

Si alguien tiene alguna mejora o modificacion para el script, que lo haga y postee aqui. Lo que yo quería era que me copiara. Se que le vendria bien una opcion para que una vez copiado el fichero, lo borrara (o bien que lo que hicera fuese mover el fichero). Pero ahora mismo estos comandos (borrar o mover), no lo encuentro en el PHP. Es mas seguro asi, ya que dispones de los ficheros del foro antiguo, por si surgiera algun problema con el nuevo foro, no tener que volver a subir todo.

En el script, a parte de incluir el fichero de rutas para el test, incluyo tb el fichero que he usado para mi foro (phpBB XS 2). Si abrís el fichero, vereis las carpetas en donde suele variar la informacion. Las carpetas tienen el mismo nombre, porque se mantienen en las distintas versiones, lo que cambia es el nombre del directorio del foro.
También lo he probado perfectamente en mi foro local (en windows). Por eso he hecho esa diferenciacion del tipo de servidor, ya que los comandos FTP del PHP no actuan igual según sea uno o el otro.

Para añadir nuevos ficheros de rutas, a parte de crear uno nuevo (manteniendo la misma estructura), hay que añadir una nueva entrada al fichero "conf_files.php".

Descomprimir el fichero en la raiz.

Espero vuestros comentarios.

Salu2


© dinoyoco - La Panda del Centollo


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje
Avatar de Usuario
ThE KuKa
Administrador
Mensajes: 9543
Registrado: 04 Ene 2004, 19:27
Género:
Edad: 46

Respuesta: Script Para Copiar Archivos Entre Directorios Del

#2

Mensaje por ThE KuKa »

Gracias :ok:

📌 Raul [ThE KuKa] en phpBB 📌
✅ Jr. Extension Validator - Jr. Styles Validator - Style Customisations - Translator - International Support Team
✅

Si te gustan mis estilos, traducciones, etc. y quieres mostrar algo de aprecio, no dudes en hacer una donación Imagen
:flag_es: phpBB España - En línea desde 2003 :heart:




Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Volver a “🆘 Recursos Webmaster”