SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 13.02.2006, 22:24:30
Stefan123 Stefan123 ist offline
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)
Mit Zitat antworten
  #12  
Alt 13.02.2006, 22:53:19
Usul Usul ist offline
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."
Mit Zitat antworten
  #13  
Alt 14.02.2006, 01:36:00
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
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.
Mit Zitat antworten
  #14  
Alt 14.02.2006, 07:19:09
Benutzerbild von vt1816
vt1816 vt1816 ist offline
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!
Mit Zitat antworten
  #15  
Alt 14.02.2006, 09:27:50
Stefan123 Stefan123 ist offline
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 ($filestrlen($file)-6strlen($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?
Mit Zitat antworten
  #16  
Alt 14.02.2006, 10:15:24
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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?
Mit Zitat antworten
  #17  
Alt 14.02.2006, 10:19:07
Stefan123 Stefan123 ist offline
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...
Mit Zitat antworten
  #18  
Alt 14.02.2006, 11:35:56
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
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)
Mit Zitat antworten
  #19  
Alt 14.02.2006, 16:02:26
Benutzerbild von vt1816
vt1816 vt1816 ist offline
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!
Mit Zitat antworten
  #20  
Alt 15.02.2006, 21:44:15
Stefan123 Stefan123 ist offline
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 ($filestrlen($file)-6strlen($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(ordsubstr($file$n1))+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(ordsubstr($string$n1))-4);
$n++;
}
if(
filesize($secretFolderPath.$fileName) < 1){ exit; }

//nochmal zur doppelten sicherheit lokal den traffic zaehlen
$fileSize = (integer)round(( @filesize($secretFolderPath.$fileName) / pow410 )));
//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 != && ($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
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:33:59 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt