Suche PHP Script

  • Thread starter Thread starter Momo
  • Start date Start date
M

Momo

Guest
Also ich suche/brauche eine PHP Script, dass folgendes macht:

Also ich betreibe einen Mirrorserver und mein Server wird alle 15 Minuten von dem Hauptserver besucht und dann werden die Daten, welche sich noch nicht auf meinem Server befinden automatisch übertragen. Und jetzt kommt das Script zum Einstatz: Das Script soll jetzt immer prüfen, ob sich neue Daten auf dem Server (Ordner) befinden und dann automatisch in einer html Datei den entsprechenden Downloadlink einfügen. Das ganze sollte wenn möglich auch anderstrum gehen, also wenn ich eine Datei lösche, dass dann automatisch der dazugehörige Links entfernt wird.

Ist soetwas möglich? Wenn ja, ist es schwer umzustezen?

Könnte das eventuell jemand für mich schreiben? Wenn möglich kostenlos?:)
 
Hallo!
Ich weis nicht, ob damit alle deine Anforderungen erfüllt werden, aber sieh dir mal [man]rsync[/man] und [man]wget[/man] an.

mfG
Thorsten
 
Mh,.... das sieht aber recht kompliziert aus. Gibt es niemanden, der mir ein Script schreiben würde? Eventuell auch kostenlos? (Bin noch Schüler):)
 
Wie siehts damit aus, sich hinzusetzen, und sich mal selber gedanken darüber zu machen, bzw. sich das draufzuschaffen, wofür dir schon Hinweise gegeben wurden???

Nur wenige Dinge sind im Leben kostenlos!
 
Hallo

Natürlich ist das möglich. Hier ein paar Denkansätze:

Ich empfele dir ein Shell Script zu schreiben (falls unter Linux). Dies würde dann überprüfen in einer Schleife, ob neue Dateien in einem Ordner sind. Die Informationen, ob eine Datei schonmal überpfüft wurde, würde ich in eine MYSQL Datenbank schreiben lassen und mit php dann in einer Schleife wieder ausgeben lassen. Falls eine neue Datei vorhanden ist, macht das Shellscript einfach einen neuen Eintrag in die Datenbank (mit Pfad, id, ...). Das Script würde ich dann in bestimmten Zeitabständen (in deinem Fall alle 15 min) ausführen lassen mit Crontab. Denke dies wäre eine sichere Methode.

Das umzusetzten wäre auch nicht so schwer, allerdings klar schon ein bisschen Zeitaufwändig.

Vll hat ja jemand auch noch eine einfachere Idee..

Gruß speedone
 
Last edited by a moderator:
Eine richtige Lösung mit Datenbankzugriff, etc. zu implementieren braucht natürlich einiges an Zeit... Wenn man nur 5 Minuten Zeit hat, kann man sich eine einfache Version wie diese hier schreiben. Das sollte wohl auch ein Schüler hinbekommen. Die Anpassung an die lokalen Gegebenheiten wird dem Leser zur Übung überlassen.

Code:
#! /bin/bash

# config #####################################################################
HTMLFILE="./dist/blah.html" # Generated HTML file
HEADER="./src/header"       # Header for HTML file
FOOTER="./src/footer"       # Footer for HTML file
DOWNLOAD="download"         # Directory containing downloadable files
##############################################################################
TMPFILE="$HTMLFILE".$$

cat "$HEADER" > "$TMPFILE"

FILES=`find $DOWNLOAD -type f -print`

for file in $FILES; do
        name=`basename $file`
        if [ "x$name" != x.htaccess ]; then
                echo "<A HREF=\"../$file\">$name</A><BR>" >> "$TMPFILE"
        fi
done

cat "$FOOTER" >> "$TMPFILE"

mv "$TMPFILE" "$HTMLFILE"
#
 
Last edited by a moderator:
Sorry, aber ich versteh jetzt nicht ganz wie ich des einbauen soll. Also ich habe ja meine ganz normale html Datei und darin sollen die Files angezeigt werden.
 
Du musst das Skript von Linux Admin einfach an deine Gegebenheiten anpassen und in einen cronjob packen. Dann kannst du bestimmen, wann und in welchem Abstand es ausgeführt wird.

Das Skript fügt den Kopf der html Seite ein, iteriert dann durch den Ordner mit den Downloads und fügt für jede Datei einen Link in die html Seite ein und am Schluss wird noch das Ende der html Seite hinzugefügt. Schon ist die Seite komplett und wenn Kopf und Ende richtig sind, sogar Standardkonform ;-)
 
Ich habe hier noch so ein PHP Script.

Code:
<?php


		/************** START CONFIGURATION ****************/

		//set here your path to the otrkey files
		$secretFolderPath = './OTRKeys/';  // e.g. './mySecretFolder/' //do NOT forget the last slash /


		/************** END CONFIGURATION ****************/




	  $dir = opendir ($secretFolderPath);
	  //gehe durch das Verzeichnis
	  $fileList = false;
	  while ($entry = readdir($dir)) {


	      if ($entry == '.htaccess' || $entry == '.' || $entry == '..') continue;
	      //wenn der Eintrag ein OTRKEY ist wird der Name und die Groesse in die Liste eingefuegt
	      if(!is_dir($secretFolderPath.$entry) && ((is_file ($secretFolderPath.$entry) || is_link ($secretFolderPath.$entry)) && (preg_match("/.[\.a-zA-Z4]{3,7}.otrkey/", $entry, $ary) || preg_match("/.[\.a-zA-Z4]{3,7}.otrkey{1}".$key."{0,1}$/", $entry, $ary)))){
	           $fileList .= '<a href="'.$secretFolderPath.$entry.'">'.$entry.'</a><br>';
	           $fileName = "";
	      }
	  }
	  closedir ($dir);
	  echo $fileList;

?>

Das müsste eigntlich auch gehen habe ich gehört. Aber bei mir werden die Files nicht angezeigt. Woran kann das liegen?



Du musst das Skript von Linux Admin einfach an deine Gegebenheiten anpassen und in einen cronjob packen. Dann kannst du bestimmen, wann und in welchem Abstand es ausgeführt wird.

Das Skript fügt den Kopf der html Seite ein, iteriert dann durch den Ordner mit den Downloads und fügt für jede Datei einen Link in die html Seite ein und am Schluss wird noch das Ende der html Seite hinzugefügt. Schon ist die Seite komplett und wenn Kopf und Ende richtig sind, sogar Standardkonform ;-)

Kann ich da nicht mein Design der Seite beibehalten?
 
Das müsste eigntlich auch gehen habe ich gehört.
Naja, das Script ist nicht ganz vollständig... Hat wohl jemand zusammengekürzt. Eine gültige HTML-Seite erzeugt es jedenfalls nicht.

Aber bei mir werden die Files nicht angezeigt. Woran kann das liegen?
Weil Deine Datei-Namen höchstwahrscheinlich nicht einem der beiden Regulären Ausdrücken genügen, die als Auswahlkriterium angegeben sind.

Kann ich da nicht mein Design der Seite beibehalten?
Natürlich kannst Du das -- sogar ohne besonderen Aufwand. Mach Dir mal wenigstens ein paar eigene Gedanken und versuch zu verstehen, was die beiden Scripte machen!

Viele Grüße,
LinuxAdmin
 
Edit: Hat sich alles erledigt. Trotzdem danke.
 
Last edited by a moderator:
Back
Top