zkmlch
Master of Disaster
Hallo liebe Tutorianer
Ich bin zurzeit an einem kleinen Projektchen namens Downloadmanager beschäftigt. Das ganze Backend des Manager läuft wie geschmiert. Nun bin Ich bei den Feinarbeiten angelangt. Vielleicht kann man mir da helfen. Hab mir auch schon die Finger wund gegoogelt aber nix exaktes gefunden was mein Begieren befriedigen konnte.
Kurz zu meiner Infrastruktur:
Ich habe 5 Virtuelle Webserver davon ist ein Server der Master (192.168.4.222). Alle Downloads sollen --> immer <-- vom Master-Server heruntergeladen werden. falls dieser aber nicht erreichbar ist, soll er beim klick auf den Downloadlink automatischen einen Alternativserver finden (einer der 4 Slave Server). Alle 5 Server sind genau gleich gemirrort.
Master Server: 192.168.4.222 (downloads.test.org) Debian 6.0
1. Slave Server: 192.168.4.223 (test1.org) Debian 6.0
2. Slave Server: 192.168.4.224 (test2.org) Debian 6.0
3. Slave Server: 192.168.4.225 (test3.org) Debian 6.0
4. Slave Server: 192.168.4.225 (test4.org) Debian 6.0
Also nochmals ein bisschen detaillierter:
Wenn ein User die Download Seite besucht und etwas herunterladen will, soll PHP automatisch checken, ob der Master-Downloadserver erreichbahr ist, falls dieser nicht verfügbahr ist, soll PHP automatisch den nächstmöglichen Slave-Server ausfindig machen.
Die IP-Adressen sind in einer separaten MySQL Tabelle aufgeführt:
--> tbl_serverprio
Spalten: server_prio (PRIMARY KEY), server_address (VARCHAR), server_comment (TEXT)
Der user soll nix vom Linkcheck mitbekommen nur falls keiner der Server erreichbahr ist soll er auf eine Error-Seite verweisen.
In diesen bestehenden Quellcode müsste der Linkchecker eingebaut werden:
Ich weiss das war jetzt viel Text, aber hat vielleicht noch jemand den Durchblick oder gar eine Lösung?
Freue mich auf jede Antwort
Gruss Patrick
Ich bin zurzeit an einem kleinen Projektchen namens Downloadmanager beschäftigt. Das ganze Backend des Manager läuft wie geschmiert. Nun bin Ich bei den Feinarbeiten angelangt. Vielleicht kann man mir da helfen. Hab mir auch schon die Finger wund gegoogelt aber nix exaktes gefunden was mein Begieren befriedigen konnte.
Kurz zu meiner Infrastruktur:
Ich habe 5 Virtuelle Webserver davon ist ein Server der Master (192.168.4.222). Alle Downloads sollen --> immer <-- vom Master-Server heruntergeladen werden. falls dieser aber nicht erreichbar ist, soll er beim klick auf den Downloadlink automatischen einen Alternativserver finden (einer der 4 Slave Server). Alle 5 Server sind genau gleich gemirrort.
Master Server: 192.168.4.222 (downloads.test.org) Debian 6.0
1. Slave Server: 192.168.4.223 (test1.org) Debian 6.0
2. Slave Server: 192.168.4.224 (test2.org) Debian 6.0
3. Slave Server: 192.168.4.225 (test3.org) Debian 6.0
4. Slave Server: 192.168.4.225 (test4.org) Debian 6.0
Also nochmals ein bisschen detaillierter:
Wenn ein User die Download Seite besucht und etwas herunterladen will, soll PHP automatisch checken, ob der Master-Downloadserver erreichbahr ist, falls dieser nicht verfügbahr ist, soll PHP automatisch den nächstmöglichen Slave-Server ausfindig machen.
Die IP-Adressen sind in einer separaten MySQL Tabelle aufgeführt:
--> tbl_serverprio
Spalten: server_prio (PRIMARY KEY), server_address (VARCHAR), server_comment (TEXT)
Der user soll nix vom Linkcheck mitbekommen nur falls keiner der Server erreichbahr ist soll er auf eine Error-Seite verweisen.
In diesen bestehenden Quellcode müsste der Linkchecker eingebaut werden:
PHP:
<html>
<body>
<font face="Century Gothic, URW Gothic L, Verdana, Arial,Helvetica">
<?php
//Datenbank-Login
$mysqlhost="localhost"; // MySQL-Host angeben
$mysqluser="*******"; // MySQL-User angeben
$mysqlpwd="*******"; // Passwort angeben
$mysqldb="db_filemanager"; // Gewuenschte Datenbank
//Mit Datenbank Verbinden
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindungsversuch fehlgeschlagen");
//Datenbank auswählen
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
//Variabel für das Auslesen aller Files"
$sql_files = "SELECT * FROM tbl_files ORDER BY software_category";
//Öffnet eine persistente Verbindung mit der MySQL Datenbank im zusamenhang mit Browser
$files_query = mysql_query($sql_files) or die("Anfrage nicht erfolgreich");
?>
<table>
<?php
do { // Beginn der do...while Schleife (Ab dem "{"-Zeichen)
if ($categorytitel!=$files['software_category']){ //If Anweisung für Tabellen Untertitel anfang
if ($categorytitel==""){ //Wenn $categorytitel noch nicht vorhanden dann...
$categorytitel=$files['software_category']; //...man nehme aus Variabel $files einen Kategoriename und //weist ihm $categoryname zu
}
?>
<tr>
<td COLSPAN=10 bgcolor=#D3D3D3><b><?=$categorytitel=$files['software_category'];?></b></td>
</tr>
<?php
} // Ende der If Anweisung "Categoryname"
if ($files['software_name']!=""){ // Wenn kein(!=) Softwarename in Datenbankeintrag vorhanden dann keine Ausgabe!
?>
<tr>
<td bgcolor=#bfdaf2><?=$files['software_name']?></td>
<td bgcolor=#bfdaf2>V. <?=$files['software_version']?></td>
<td bgcolor=#bfdaf2><?=$files['software_system']?></td>
<td bgcolor=#bfdaf2><?=$files['software_size']?></td>
<td bgcolor=#bfdaf2><?=$files['software_language']?></td>
<td bgcolor=#bfdaf2><a href="<?=$files['autor_link']?>"><?=$files['autor_name']?></a></td>
<td bgcolor=#bfdaf2><a href="<?=$files['autor_download']?>"><img src="bilder/homepage.jpg" width="20" height="20" border="0" alt="Download"></a></td>
<td bgcolor=#bfdaf2><a href="http://www.test.org/dowloads/<?=$files['software_filename']?>"><img src="bilder/download.jpg" width="20" height="20" border="0" alt="Download"></a></td>
</tr>
<?php
} // Ende der If Anweisung "Softwarename"
$categorytitel=$files['software_category']; // Variablenzuweisung für $categorytitle
}while ($files = mysql_fetch_array($files_query)) // Ende der Schleife
?>
</table>
</body>
</html>
Ich weiss das war jetzt viel Text, aber hat vielleicht noch jemand den Durchblick oder gar eine Lösung?
Freue mich auf jede Antwort
Gruss Patrick
Zuletzt bearbeitet: