inc.ftp-config.php - Configuration for FTP-List&Search Version 18/Jun/2002 Copyright (c) Jun 2002 Daniel Raap legal stuff =========== This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA english first, deutsch als zweites. ========= =english= ========= Intro ===== This tiny script should help you to find files in a LAN whith more FTP-servers. Therefore exists a list with servers. These servers will be queried for their files. The created filelists are searchable by the script. The base for this is a MySQL database which is queried by the belonging PHP-scripts. In my opinion these script does its purpose and therefore it has been written. Problems ======== - The updates have to be a HTTP-request or you have to parse the PHP-script manualy - Only FTP-servers with the following output will be searchable: -rw-r--r-- 1 501 0 126 Jan 16 21:13 welcome.msg Installation ============ 0) Copying: Copy all files into a directory of your webserver. 1) Configuration: Change the 'inc.ftp-config.php' to reflect your needs. 2) Preparing the database: *EDIT*! and execute the enclosed script 'createdb.php'. That means that you have to change the password and the server accordingly! As an alternate you can surely edit the database yourself. You can gather the structure out of the file 'createdb.php' or look at the following description: db | -ftp---------------------------------------------------------------------------------ftplist | | -hostid (auto_increment)--addr--descr--user--pwd--id--status--typ--count--size -host--file--path--size--attrib 3) Starting Simply call the 'ftp.php' and add servers. Then call the 'ftp_write2sql.php' to create the filelists for the servers. Run it regulary to register changes and be up to date (e.g. every hour). Besides the 'ftp_stat.php' should be run in small intervals to get the status of the servers (on/off). For updating the filelist of only one server you can use the script 'ftp_einzel.php'. ========= =Deutsch= ========= Intro ===== Dieses kleine Skript soll im LAN helfen Dateien aus einer Masse von FTP-Servern zu finden. Dazu gibt es eine Liste, in welche die entsprechenden Server eingetragen werden. Diese Serverdaten werden genutzt um auf die Server zuzugreifen und den dortigen Inhalt auszulesen. Diese Dateilisten werden gespeichert und können anschließend durchsucht werden. Das Ganze basiert auf einer MySQL Datenbank und den dazugehörigen PHP-Skripten um diese anzusprechen. Die PHP Skripte sind nicht objektorientiert sondern haben nur die nötigsten Befehle um zu funktionieren. Dadurch ergeben sich die Vor- und Nachteile dieses Skriptes: Es ist recht schnell, weil kein unnötiger Schnickschnack geparst wird und recht unflexibel bzw. übertragbar. Allerdings bin ich der Meinung, dass dieses Skript seinen Zweck erfüllt und dazu wurde es ja auch gemacht. Probleme ======== -Die Aktualisierungen muss man als HTTP-Anfrage starten oder muss das Skript manuell parsen. -Das Skript liest nur bestimmte Server aus. Nämlich solche, deren Ausgabeformat etwa so aussieht: -rw-r--r-- 1 501 0 126 Jan 16 21:13 welcome.msg Einrichtung =========== 0) Installation: Die Dateien in ein Verzeichnis des Webservers kopieren. 1) Konfiguration: In der ftp_config.php die Parameter Server, Datenbank, Passwort und Pfad entsprechend ändern. 2) Datenbank vorbereiten: Das beiliegende Skript 'createdb.php' *BEARBEITEN*! und ausführen. D.h. es sollte das entsprechen Passwort eingetragen werden und der entsprechende Server eingetragen werden! Alternativ kann man die Datenbank natürlich auch selber anpassen. Man kann die MySQL-Teile aus der 'createdb.php' entnehmen oder sich nach dieser kurzen Beschreibung richten: db | -ftp-----------------------------------------------------------------------------------ftplist | | -hostid (auto_increment)--addr--descr--user--pwd--id--status--typ--count--size -host--file--path--size--attrib 3) Starten: Einfach die ftp.php aufrufen und die Server eintragen (lassen). Dann muss die 'ftp_write2sql.php' aufgerufen werden um die Dateilisten der einzelnen Server zu erstellen. Am besten regelmäßig laufen lassen um entsprechende Änderungen wahrzunehmen (z.B. jede Stunde). Ausserdem sollte die ftp_stat.php in kurzen Abständen aufgerufen werden um den aktuellen Status der Server zu ermitteln (on/off). Für die Aktualisierung der Dateiliste eines einzelnen Servers kann das Skript 'ftp_einzel.php' verwendet werden.