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 |
15.02.2006, 21:58:32
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Bitte benutze die php-Tags des Boards und kennzeichne auch, in welcher Zeile deines Quellcodes der Fehler auftritt.
|
15.02.2006, 22:03:54
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
inhalt 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> ';
?>
und dann noch der inhalt 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 denke, dass in Zeile 40-54 der downloads.php der fehler auftritt. bin mir aber nicht so sicher.
Gruß Stefan
|
15.02.2006, 22:10:12
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von Stefan123
PHP-Code:
while($n < strlen($string)){
$fileName .= chr(ord( substr($string, $n, 1))-4);
$n++;
}
|
Wenn du hier alle Dateinamen aneindarkettest, ist es auch kein Wunder, dass filesize() ein paar Zeilen später damit nicht mehr klar kommt.
Zitat:
Zitat von Stefan123
Ich denke, dass in Zeile 40-54 der downloads.php der fehler auftritt. bin mir aber nicht so sicher.
|
Es ging um die Zeilennummer in der oben von dir zitierten Fehlermeldungen.
Außerdem steigerst du die Lesbarkeit deines Quellcodes enorm, wenn du diesen einrückst.
|
15.02.2006, 22:22:39
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Und was muss ich jetzt genau ändern, damit alles so funktioniert, dass es geht?
Gruß Stefan
|
15.02.2006, 22:53:34
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Was willst du da denn überhaupt machen?
|
16.02.2006, 06:16:39
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Dateien zum Download anbieten.
Wollte meinen Kollegen mal versuchen zu helfen, aber das habe ich doch nicht so hinbekommen.
Hier kannste ja mal nachschauen, was ich meine. und dann den Bereich "Downloads" anklicken.
Gruß Stefan
|
16.02.2006, 08:13:35
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von Stefan123
Dateien zum Download anbieten.
|
Das ist ja schön und gut, hilft aber auch nicht großartig weiter, wenn es darum geht, zu verstehen, was du dir bei den einzelnen Codeblöcken überhaupt gedacht hast.
|
16.02.2006, 09:41:37
|
|
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
Sooo, konnte mien Script soweit abändern, sodass die Dateien schön nach Datum sortiert werden.
|
Toll. Man stellt Dir eine Frage, die Du nicht beantwortest, und kippst als weitere Frage irgend welchen unformatierten Textmüll hier rein.
Zitat:
Ich hoffe, dass mir einer weiterhelfen kann.
|
Dir ist wirklich nicht mehr zu helfen.
|
16.02.2006, 13:09:25
|
Anfänger
|
|
Registriert seit: Feb 2006
Beiträge: 32
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von xabbuh
Das ist ja schön und gut, hilft aber auch nicht großartig weiter, wenn es darum geht, zu verstehen, was du dir bei den einzelnen Codeblöcken überhaupt gedacht hast.
|
Was meinst Du jetzt genau mit den Codeblöcken?
Geändert von Stefan123 (16.02.2006 um 13:09:36 Uhr)
|
16.02.2006, 13:10:25
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Ordner auslesen und Dateien nach Datum sortieren
Zitat:
Zitat von Stefan123
Was meinst Du jetzt genau mit den Codeblöcken?
|
Schleifen, if-Anweisungen etc.
|
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 13:01:15 Uhr.
|