CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
13.02.2006, 22:24:30
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Meine Dateien heißena anders, z.B. so:
CSI__NY_06.02.06_20-15_vox_55_TVOON_DE.wmv.otrkey
Wer_wird_Millionaer__06.02.04_20-15_rtl_60_TVOON_DE.wmv.otrkey
usw.
Es muss ja einen kurzen PHP-Code geben, der es ermöglicht die ganzen Dateien nach Datum zu sortieren, so wie sie im Dateinamen enthalten sind...
Gruß Stefan
Geändert von Stefan123 (13.02.2006 um 22:31:36 Uhr)
|
13.02.2006, 22:53:19
|
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 213
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von Stefan123
Es muss ja einen kurzen PHP-Code geben, der es ermöglicht die ganzen Dateien nach Datum zu sortieren, so wie sie im Dateinamen enthalten sind...
|
Muss es das?
Schreib dir diese Funktion doch selbst. Regex und strtotime sind die Stichwoerter. Wenn die Loesung, die du probiert hast, nicht klappt, dann poste sie mal hier.
__________________
Trapper: "This war is turning everybody into a criminal and it's making me sick."
Hawkeye: "Well next time try to stay out of the draft."
|
14.02.2006, 01:36:00
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von Stefan123
Meine Dateien heißena anders, z.B. so:
|
Das is ja noch wüster als im OP. Von dem Zeuch, was Du da geraucht hast, als Dir das eingefallen ist, will ich was abhaben.
Zitat:
Es muss ja einen kurzen PHP-Code geben, der es ermöglicht die ganzen Dateien nach Datum zu sortieren, so wie sie im Dateinamen enthalten sind...
|
Es muß nix. Für das, was Du willst, wurden Datenbanken und Datenbankmanagementsysteme entwickelt. Wie kurz das Script letzten endes ist, mit dem Du Dein Flickwerk weiter flicken möchtest, ist Dein Ding.
Aber selbst in einer SQL Datenbank wirst Du Klimmzüge machen müssen, wenn Du eigensinnig auf ein deutsches Datum beharrst und kein Datum in der ISO Notation verwendest.
|
14.02.2006, 07:19:09
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von meikel
Das is ja noch wüster als im OP. Von dem Zeuch, was Du da geraucht hast, als Dir das eingefallen ist, will ich was abhaben.
Es muß nix. Für das, was Du willst, wurden Datenbanken und Datenbankmanagementsysteme entwickelt. Wie kurz das Script letzten endes ist, mit dem Du Dein Flickwerk weiter flicken möchtest, ist Dein Ding.
Aber selbst in einer SQL Datenbank wirst Du Klimmzüge machen müssen, wenn Du eigensinnig auf ein deutsches Datum beharrst und kein Datum in der ISO Notation verwendest.
|
Austeilen ist die eine Seite, das Problem durchleuchten die andere.
So wie die neuen Dateinamen aussehen, kommen sie nicht von Stefan123. Sie werden bei der Aufzeichnung der jeweiligen Fernsehsendung durch das zur Aufzeichnung benutze Programm erstellt.
Jedoch gebe ich Dir Recht, Meikel, nun könnte er mit Hilfe eines Scriptes den Dateinamen anpassen und weiterverarbeiten.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
14.02.2006, 09:27:50
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Was haltet Ihr von dem Script hier?
PHP-Code:
<html> <head> <title> </title> </head> <body> <?php
// directory of the otrkey files $directory = 'YOUR DIRECTORY'; // DB COnnect $dbConnect = mysql_connect("YOUR DB SERVER", "DB USERNAME", "DB PASSWORD");
mysql_select_db('OTR', $dbConnect);
$sql = "select * from otr"; $result = mysql_query($sql, $dbConnect); $row = mysql_fetch_array($result);
$handle=opendir ($directory);
$datum = array();
echo "<h3> The following files were found:</h3> \n\r"; while (false !== ($file = readdir ($handle))) { if (substr ($file, strlen($file)-6, strlen($file)) == "otrkey"){ $temp=date ("Y-m-d", filemtime($directory.$file)); array_push($datum, $temp); if (!isset($$temp)){ $$temp=array(); } array_push($$temp, $file); } } closedir($handle); rsort($datum); $datum=array_unique($datum);
foreach($datum as $tag){ echo "<h3> $tag</h3> \n"; sort($$tag); echo "<ul> \n"; foreach ($$tag as $file){ echo "<li> <a href=\"download.php?file=$file\" title=\"Exact Size:".filesize($directory.$file). " Byte\"> $file (size: ".sprintf("%01.2f", (filesize($directory.$file)/1024/1024))." mb )</a> </li> \n"; } echo "</ul> \n"; }
echo "<br/> Delivered ".$row['downloads']." files with ".sprintf("%01.2f", ($row['bytes']/1024/1024))." mb this hour.<br/> \n";
@mysql_close($dbConnect);
echo '</body> </html> '; ?>
Was muss ich aber nun in der MySQL-Datenbank eingeben, damit das auch alles so klappt?
|
14.02.2006, 10:15:24
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von Stefan123
Was haltet Ihr von dem Script hier?
|
Wenn du deinen Code in die PHP-Tags des Boards packst, wird sich vermutlich eher jemand dein Script ansehen.
Zitat:
Zitat von Stefan123
Was muss ich aber nun in der MySQL-Datenbank eingeben, damit das auch alles so klappt?
|
Wie bitte?
|
14.02.2006, 10:19:07
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von xabbuh
Wenn du deinen Code in die PHP-Tags des Boards packst, wird sich vermutlich eher jemand dein Script ansehen.
Wie bitte?
|
Ja, oder wie sollen sonst die Sachen nach Datum sortiert werden? Ich kann es mir nur so denken bzw. vorstellen, dass es so funktionieren wird...
|
14.02.2006, 11:35:56
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von vt1816
So wie die neuen Dateinamen aussehen, kommen sie nicht von Stefan123. Sie werden bei der Aufzeichnung der jeweiligen Fernsehsendung durch das zur Aufzeichnung benutze Programm erstellt.
|
Es ist allgemein üblich, Daten so abzuspeichern, wie man sie benötigt.
Wenn der OP die Files so bekommt, wie beschrieben, dann sollte er sie so benennen, daß er mit den Daten des Namens auch was anfangen kann. Das macht man sinnvollerweise EINMAL und nicht JEDES Mal.
Zitat:
CSI__NY_06.02.06_20-15_vox_55_TVOON_DE.wmv.otrkey
Wer_wird_Millionaer__06.02.04_20-15_rtl_60_TVOON_DE.wmv.otrkey
|
Wenn der OP mal mitteilen würde, mit welcher Maske die Zeichenkette erstellt wird, wäre es wesentlich einfacher, die Daten aus der Zeichenkette rauszufischen.
Zitat:
Jedoch gebe ich Dir Recht, Meikel, ...
|
Nett.
Geändert von meikel (†) (14.02.2006 um 11:41:44 Uhr)
|
14.02.2006, 16:02:26
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von meikel
Es ist allgemein üblich, Daten so abzuspeichern, wie man sie benötigt.
|
Richtig, nur er wird darauf keine Einfluß haben (Fremdprogramm). Daher muß er mit seinem Script erst die Dateinamen anpassen und dann sortieren.
Zitat:
Zitat von meikel
...
Wenn der OP mal mitteilen würde, mit welcher Maske die Zeichenkette erstellt wird, wäre es wesentlich einfacher, die Daten aus der Zeichenkette rauszufischen.
...
|
Kommt vielleicht noch ...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
15.02.2006, 21:44:15
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Sooo, konnte mien Script soweit abändern, sodass die Dateien schön nach Datum sortiert werden. Aber nun habe ich folgenden Fehler und weiß nicht, woran das liegt: Wenn ich eine Datei downloaden möchte und auf einem Link klicke, bekomme ich folgende Meldung:
Warning: filesize(): Stat failed for ./gH34i7Uu89d9Siutf53gHuik/JUMANJI_06.01.29_20-15_sat1_120_TVOON_DE.wmv.otrkeyPolizeiruf_110_06.01.20_21-45_ard_90_TVOON_DE.wmv.otrkeyPolizeiruf_11
0_06.01.29_20-15_ard_90_TVOON_DE.wmv.otrkeyWetter_06.01.27_22-58_ard_2_TVOON_DE.wmv.otrkeyC_S_I__Miami_06.02.14_20-15
_rtl_60_TVOON_DE.wmv.otrkeyDie_Super_Nanny_06.02.01_20-15_rtl_60_TVOON_DE.wmv.otrkeyDoppelter_Einsatz__Verraten_und_verk
auft_06.02.02_20-15_rtl_120_TVOON_DE.wmv.otrkey (errno=36 - File name too long) in /var/www/vhosts/otrplanet.com/httpdocs/otrportal/download.php on line 33
Anstatt, dass eine Datei drinsteht, werden gleich mehrere dort eingefügt, was nicht sein soll.
Im Folgenden das Script von der downloads.php:
PHP-Code:
<?php
$directory = "./otrportal/gH34i7Uu89d9Siutf53gHuik/"; // DB COnnect $dbConnect = mysql_connect("localhost", "BENUTZERNAME", "PASSWORT");
mysql_select_db('OTR_1', $dbConnect);
$sql = "select * from otr";
$handle=opendir ($directory);
$datum = array();
echo "<h3> The following files were found:</h3> \n\r"; while (false !== ($file = readdir ($handle))) { if (substr ($file, strlen($file)-6, strlen($file)) == "otrkey"){ $temp=date ("d.m.Y", filemtime($directory.$file)); array_push($datum, $temp);
if (!isset($$temp)){ $$temp=array(); }
array_push($$temp, $file); } } closedir($handle); rsort($datum); $datum=array_unique($datum);
foreach($datum as $tag){ echo "<h3> $tag</h3> \n";
sort($$tag); echo "<ul> \n"; foreach ($$tag as $file){
$n = 0; while($n < strlen($file)){ $fileName .= chr(ord( substr($file, $n, 1))+4); $n++; } echo "<li> <a href='./otrportal/download.php?f=".urlencode($fileName)."'>".$entry." $file (size:".sprintf("%01.2f", (filesize($directory.$file)/1024/1024))."mb )</a> </li> \n"; } echo "</ul> \n"; }
echo "<br/> Delivered ".$row['downloads']." files with ".sprintf("%01.2f", ($row['bytes']/1024/1024))." mb this hour.<br/> \n";
@mysql_close($dbConnect);
echo '</body> </html> '; ?>
Nun der Inhalt von der download.php:
PHP-Code:
<?php /******** myOTR **********/ // text text text // text text text // text text text // text text text
/******** SET HERE YOUR SECRET PATH TO THE OTRKEY FILES *******/
$secretFolderPath = './gH34i7Uu89d9Siutf53gHuik/'; // e.g. './mySecretFolder/' //do NOT forget the last slash /
setlocale(LC_TIME, "de_DE");
/******** END OF USER CONFIGURATION SETTINGS ******************/
/******** BUT DO NOT CHANGE ANYTHING BELOW HERE!! ***********************************************/
$fp = @fopen("./mbpermonth.txt", "r"); $trafficLimit = @fgets($fp); @fclose($fp); $string = urldecode($_REQUEST['f']); while($n < strlen($string)){ $fileName .= chr(ord( substr($string, $n, 1))-4); $n++; } if(filesize($secretFolderPath.$fileName) < 1){ exit; }
//nochmal zur doppelten sicherheit lokal den traffic zaehlen $fileSize = (integer)round(( @filesize($secretFolderPath.$fileName) / pow( 4, 10 ))); //if next day, reset traffic limit if(date("j", (@filemtime("./traffic.txt")-3600)) < date("j", time())){ //write daily log file $fp = @fopen("./traffic.txt", "w+"); $log = @fgets($fp); @fputs($fp, "0"); @fclose($fp); $logString .= date("l, j.F y", time() - 82800).";".$log."\n"; $fp = fopen("trafficLog.csv", "w+"); $log = @fgets($fp); fputs($fp, $log.$logString); fclose($fp); //delete traffic of today //@unlink("./traffic.txt"); } if(@file_exists("./traffic.txt")){ $fp = @fopen("./traffic.txt", "r+"); $count = @fgets($fp); @fclose($fp); if($trafficLimit != 0 && ($fileSize + $count) > ($trafficLimit/date("t", time()))){ echo "Sorry, daily traffic limit of this server is exeeded"; exit; } }else{ $count = 0; }
$count = $count + $fileSize; $fp = @fopen("./traffic.txt", "w"); @fputs($fp, $count); @fclose($fp); //start download header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Description: File Transfer'); header('Content-Type: application/otrkey'); header('Content-Length: '.@filesize($secretFolderPath.$fileName)); header("Content-Disposition: attachment; filename=".$fileName); header("Content-Transfer-Encoding: binary"); @readfile($secretFolderPath.$fileName);
//for future versions, just leave it as it is //create link to file /*$time = time(); if(!is_dir("./tmp/")){ mkdir("./tmp/", 0777); } mkdir("./tmp/".$time, 0777); symlink($_SERVER['DOCUMENT_ROOT']."/".$secretFolderPath.$fileName, "./tmp/".$time."/".$fileName); header("Location: ./tmp/".$time."/".$fileName); */
?>
Ich hoffe, dass mir einer weiterhelfen kann.
Gruß Stefan
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:33:59 Uhr.
|