baeckerman83> php rs.php
Rapidshare-URL : <a href="http://rapidshare.com/files/11111/datei.rar">http://rapidshare.com/files/11111/datei.rar</a><br>Countdown-URL : http://rs721.rapidshare.com/files/11111/datei.rar<br>Filename : datei.rar<br>Download-URL : http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The page is not found</title>
</head>
<style type="text/css">
<!--
h1 {
font-family: Arial, Helvetica, sans-serif;
color: #0066CC;
font-size: 25px;
line-height: 60px;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #666666;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
-->
</style>
<body>
<center>
<h1><img src="/webdefault/images/logo.jpg" width="200" height="51" vspace="40" /></h1>
<h1>Sorry, the page you are looking for is not found.</h1>
<input type="button" value="Back" onclick="history.go( -1 );return true;">
<hr size="1" width="600">
<p>© 2008 <a href="http://www.synology.com/">Synology Inc.</a></p>
</center<br>DL possible<br>Waiting for 60 seconds!<br>PHP Notice: Undefined variable: page in /volume1/web/rs.php on line 128
1-2-
PHP Notice: Undefined variable: page in /volume1/web/rs.php on line 128
<?
/**
Genereller Ablauf:
1.) Normale Downloadseite öffnen
2.) Link zur Countdownseite aus Quelltext holen
3.) Countdown von 60 Sekunde verstreichen lassen
4.) Aus Countdownseite während Countdown läuft definitiven Downoadlink holen
5.) Nach Countdownablauf cURL auf definitiven Downloadlink ausführen
**/
//Var Deklaration
$dir = "/vol/dir/scripte/";
$txt_err = $dir."error.txt";
$txt_rdy = $dir."ready.txt";
$txt_src = $dir."todo.txt";
// Countdownzeit für Datei holen
function get_countdown_time($quelltext,$prefix,$suffix){
$countdown_time = substr($quelltext,strpos($quelltext,$prefix)+strlen($prefix),strpos
($quelltext,$suffix)-strpos($quelltext,$prefix)-strlen($prefix));
return $countdown_time;
}
// Größe holen
function get_size($quelltext){
$size = substr($quelltext, strpos($quelltext, 'color:#8E908F')+17, (strpos($quelltext, ' KB</font></p>')-
strpos($quelltext, 'color:#8E908F')-17));
return $size;
}
// Link zur Countdownseite
function dl_link_1($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'id="ff" action="')+16, (strpos($quelltext, '"
method="post') - strpos($quelltext, 'id="ff" action="')-16));
return $dl_link;
}
// Downloadlink für Datei holen
function dl_link_2($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'name="dlf" action="')+19, (strpos($quelltext, '"
method="post') - strpos($quelltext, 'name="dlf" action="')-19));
return $dl_link;
}
function dl_file($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'id="ff" action="')+16, (strpos($quelltext, '"
method="post') - strpos($quelltext, 'id="ff" action="')-16));
$file_arr = explode('/', $dl_link);
$file = array_pop($file_arr);
return $file;
}
function dl_verification($quelltext){
// DL-Limit erreicht. Wielange zu warten?
if(eregi('download limit',$quelltext)){
$dl_wait_time = substr($quelltext, strpos($quelltext, 'about ')+6, (strpos($quelltext, 'minutes') -
strpos($quelltext, 'about ')-7));
echo 'Standby...<br>'.$dl_wait_time.' min. to wait! '.date(' - d.m.Y H:i:s').'\n';
return false;
// Bereits ein DL am laufen.
}elseif(eregi('IP address',$quelltext)){
echo 'No parallel DLs';
return false;
// Datei nicht vorhanden
}elseif(eregi('check the download link',$quelltext)){
echo 'Link corrupt';
return false;
// Dl möglich.
}else{
return true;
}
}
// Link in jeweiliger Datei speichern : ready.txt oder error.txt
function save_link($txt_file, $txt_link){
$handle = fopen($txt_file, 'a');
$txt_link .= chr(9);
$txt_link .= date(' - d.m.Y H:i:s');
fwrite($handle, $txt_link);
fwrite($handle, "\r\n");
fclose($handle);
}
// Obersten Eintrag aus der todo Datei einlsesen
function get_link($txt_src){
$handle = fopen($txt_src, 'r');
$temp_link = fgets($handle, 1024);
fclose($handle);
return $temp_link;
}
// Nach erfolgreichem Download ersten Eintrag löschen
function delet_first_entry($txt_src){
$array = file($txt_src);
array_shift($array);
$fp = fopen($txt_src,"w");
for ($i = 0; $i<count($array); $i++){
fputs($fp, $array[$i]);
}
fclose($fp);
}
// Aktuellen Link einlesen - DL Link nur löschen, wenn DL möglich.
$rs_adresse = trim(get_link($txt_src));
if ($rs_adresse != "") {
echo 'Rapidshare-URL : <a href="'.$rs_adresse.'">'.$rs_adresse.'</a><br>';
// Link zur Countdownseite und Dateinamen holen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $rs_adresse);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.7)
Gecko/2009011913 Firefox/3.0.6');
$page_link = curl_exec($ch);
curl_close($ch);
$link_countdown = dl_link_1($page_link);
$size = get_size($page_link);
$file = dl_file($page_link);
echo 'Größe ist: '.$size.'<br>';
echo 'Countdown-URL : '.$link_countdown.'<br>';
echo 'Filename : '.$file.'<br>';
// Wenn RS-Link ok ist:
if((dl_verification($page_link)) == true){
// Countdownseite öffnen und Dateilink holen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link_countdown);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'dl.start=Free');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.6)
Gecko/2009011913 Firefox/3.0.6');
$page_countdown = curl_exec($ch);
curl_close($ch);
// Abfragen ob Download möglich ist
if(dl_verification($page_countdown) == true){
$def_dl_link = dl_link_2($page_countdown);
echo 'Download-URL : '.$def_dl_link.'<br>';
echo 'DL possible<br>';
echo 'Waiting for 60 seconds!<br>';
// Zwangspause
$countdown_prefix = "var c=";
$countdown_suffix = "; ";
$countdown_time = get_countdown_time($page_countdown,$countdown_prefix,$countdown_suffix);
// Random Offset zw. 2 und 120 Sekunden
srand((double)microtime()*1000000);
$offset = rand(2,120);
$i = $countdown_time+$offset;
echo "Waiting for $i seconds!<br>";
while($i >= 1){
echo $i.'-';
flush();
sleep(1);
$i--;
}
echo '<br>Def. DL-Link : '.$def_dl_link;
echo '<br>DL started.'.date(' - d.m.Y H:i:s');
flush();
// nach Countdownablauf Dateidownload starten
$handle = fopen($dir.$file,'w');
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $def_dl_link);
curl_setopt($ch2, CURLOPT_TIMEOUT, 900);
curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.6)
Gecko/2009011913 Firefox/3.0.6');
curl_setopt($ch2, CURLOPT_FILE, $handle);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch2);
fclose($handle);
curl_close($ch2);
echo "<br>DL finished.<br><br><br>".date(' - d.m.Y H:i:s');
// erfolgreichen Downloadlink in ready.txt speichern
save_link($txt_rdy, $rs_adresse);
delet_first_entry($txt_src);
}
}else{
// Aktuellen Link in error.txt speichern
save_link($dir.$txt_err, $rs_adresse);
delet_first_entry();
}
} else {
echo date(' - d.m.Y H:i:s')." - kein Link zur Verfügung<br>";
}
?>
function dl_verification($quelltext){
// Datei nicht vorhanden - durch RS gelöscht
}elseif(eregi('violation of our terms',$quelltext)){
echo 'File deleted by RS';
return false;
}elseif(eregi('suspected to contain',$quelltext)){
echo 'File blocked by RS';
return false;
<?
/**
Genereller Ablauf:
1.) Normale Downloadseite öffnen
2.) Link zur Countdownseite aus Quelltext holen
3.) Countdown von 60 Sekunde verstreichen lassen
4.) Aus Countdownseite während Countdown läuft definitiven Downoadlink holen
5.) Nach Countdownablauf cURL auf definitiven Downloadlink ausführen
**/
//Var Deklaration
$dir = "/vol/dir/scripte/";
$txt_err = $dir."error.txt";
$txt_rdy = $dir."ready.txt";
$txt_src = $dir."todo.txt";
// Countdownzeit für Datei holen
function get_countdown_time($quelltext,$prefix,$suffix){
$countdown_time = substr($quelltext,strpos($quelltext,$prefix)+strlen($prefix),strpos
($quelltext,$suffix)-strpos($quelltext,$prefix)-strlen($prefix));
return $countdown_time;
}
// Größe holen
function get_size($quelltext){
$size = substr($quelltext, strpos($quelltext, 'color:#8E908F')+17, (strpos($quelltext, ' KB</font></p>')-
strpos($quelltext, 'color:#8E908F')-17));
return $size;
}
// Link zur Countdownseite
function dl_link_1($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'id="ff" action="')+16, (strpos($quelltext, '"
method="post') - strpos($quelltext, 'id="ff" action="')-16));
return $dl_link;
}
// Downloadlink für Datei holen
function dl_link_2($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'name="dlf" action="')+19, (strpos($quelltext, '"
method="post') - strpos($quelltext, 'name="dlf" action="')-19));
return $dl_link;
}
function dl_file($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'id="ff" action="')+16, (strpos($quelltext, '"
method="post') - strpos($quelltext, 'id="ff" action="')-16));
$file_arr = explode('/', $dl_link);
$file = array_pop($file_arr);
return $file;
}
function dl_verification($quelltext){
// DL-Limit erreicht. Wielange zu warten?
if(eregi('download limit',$quelltext)){
$dl_wait_time = substr($quelltext, strpos($quelltext, 'about ')+6, (strpos($quelltext, 'minutes') -
strpos($quelltext, 'about ')-7));
echo 'Standby...<br>'.$dl_wait_time.' min. to wait! '.date(' - d.m.Y H:i:s').'\n';
return false;
// Bereits ein DL am laufen.
}elseif(eregi('IP address',$quelltext)){
echo 'No parallel DLs';
return false;
// Datei nicht vorhanden
}elseif(eregi('check the download link',$quelltext)){
echo 'Link corrupt';
return false;
// Datei nicht vorhanden - durch RS gelöscht
}elseif(eregi('violation of our terms',$quelltext)){
echo 'File deleted by RS';
return false;
}elseif(eregi('suspected to contain',$quelltext)){
echo 'File blocked by RS';
return false;
// Dl möglich.
}else{
return true;
}
}
// Link in jeweiliger Datei speichern : ready.txt oder error.txt
function save_link($txt_file, $txt_link){
$handle = fopen($txt_file, 'a');
$txt_link .= chr(9);
$txt_link .= date(' - d.m.Y H:i:s');
fwrite($handle, $txt_link);
fwrite($handle, "\r\n");
fclose($handle);
}
// Obersten Eintrag aus der todo Datei einlsesen
function get_link($txt_src){
$handle = fopen($txt_src, 'r');
$temp_link = fgets($handle, 1024);
fclose($handle);
return $temp_link;
}
// Nach erfolgreichem Download ersten Eintrag löschen
function delet_first_entry($txt_src){
$array = file($txt_src);
array_shift($array);
$fp = fopen($txt_src,"w");
for ($i = 0; $i<count($array); $i++){
fputs($fp, $array[$i]);
}
fclose($fp);
}
// Aktuellen Link einlesen - DL Link nur löschen, wenn DL möglich.
$rs_adresse = trim(get_link($txt_src));
if ($rs_adresse != "") {
echo 'Rapidshare-URL : <a href="'.$rs_adresse.'">'.$rs_adresse.'</a><br>';
// Link zur Countdownseite und Dateinamen holen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $rs_adresse);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.7)
Gecko/2009011913 Firefox/3.0.6');
$page_link = curl_exec($ch);
curl_close($ch);
$link_countdown = dl_link_1($page_link);
$size = get_size($page_link);
$file = dl_file($page_link);
echo 'Größe ist: '.$size.'<br>';
echo 'Countdown-URL : '.$link_countdown.'<br>';
echo 'Filename : '.$file.'<br>';
// Wenn RS-Link ok ist:
if((dl_verification($page_link)) == true){
// Countdownseite öffnen und Dateilink holen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link_countdown);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'dl.start=Free');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.6)
Gecko/2009011913 Firefox/3.0.6');
$page_countdown = curl_exec($ch);
curl_close($ch);
// Abfragen ob Download möglich ist
if(dl_verification($page_countdown) == true){
$def_dl_link = dl_link_2($page_countdown);
echo 'Download-URL : '.$def_dl_link.'<br>';
echo 'DL possible<br>';
echo 'Waiting for 60 seconds!<br>';
// Zwangspause
$countdown_prefix = "var c=";
$countdown_suffix = "; ";
$countdown_time = get_countdown_time($page_countdown,$countdown_prefix,$countdown_suffix);
// Random Offset zw. 2 und 120 Sekunden
srand((double)microtime()*1000000);
$offset = rand(2,120);
$i = $countdown_time+$offset;
echo "Waiting for $i seconds!<br>";
while($i >= 1){
echo $i.'-';
flush();
sleep(1);
$i--;
}
echo '<br>Def. DL-Link : '.$def_dl_link;
echo '<br>DL started.'.date(' - d.m.Y H:i:s');
flush();
// nach Countdownablauf Dateidownload starten
$handle = fopen($dir.$file,'w');
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $def_dl_link);
curl_setopt($ch2, CURLOPT_TIMEOUT, 900);
curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.6)
Gecko/2009011913 Firefox/3.0.6');
curl_setopt($ch2, CURLOPT_FILE, $handle);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch2);
fclose($handle);
curl_close($ch2);
echo "<br>DL finished.<br><br><br>".date(' - d.m.Y H:i:s');
// erfolgreichen Downloadlink in ready.txt speichern
save_link($txt_rdy, $rs_adresse);
delet_first_entry($txt_src);
}
}else{
// Aktuellen Link in error.txt speichern
save_link($dir.$txt_err, $rs_adresse);
delet_first_entry();
}
} else {
echo date(' - d.m.Y H:i:s')." - kein Link zur Verfügung<br>";
}
?>
- Link defekt: nächste Datei starten
- Error/Ready flag in die ready.txt
- Abfrage ob erwartete Dateigröße mit tatsächlicher übereinstimmt
Heisst das, dass wenn die datei nicht downloadbar ist dennoch 15 min gewartet wird?Der Loop zählt bei Wartezeit von 15 Min dann automatisch runter, werden also nicht ständig Anfragen an RS gestellt.
// nach Countdownablauf Dateidownload starten
$handle = fopen($file,'w');
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $def_dl_link);
curl_setopt($ch2, CURLOPT_TIMEOUT, 90000);
curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
curl_setopt($ch2, CURLOPT_FILE, $handle);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch2);
fclose($handle);
curl_close($ch2);
<?
/**
Genereller Ablauf:
1.) Normale Downloadseite öffnen
2.) Link zur Countdownseite aus Quelltext holen
3.) Countdown von 60 Sekunde verstreichen lassen
4.) Aus Countdownseite während Countdown läuft definitiven Downoadlink holen
5.) Nach Countdownablauf cURL auf definitiven Downloadlink ausführen
**/
//Var Deklaration
$dir = "/vol/xxx/dl/";
$txt_err = $dir."error.txt";
$txt_rdy = $dir."ready.txt";
$txt_src = $dir."todo.txt";
// Countdownzeit für Datei holen
function get_countdown_time($quelltext,$prefix,$suffix){
$countdown_time = substr($quelltext,strpos($quelltext,$prefix)+strlen($prefix),strpos($quelltext,$suffix)-strpos($quelltext,$prefix)-strlen($prefix));
return $countdown_time;
}
// Größe holen
function get_size($quelltext){
$size = substr($quelltext, strpos($quelltext, 'color:#8E908F')+17, (strpos($quelltext, ' KB</font></p>')- strpos($quelltext, 'color:#8E908F')-17));
return $size;
}
// Link zur Countdownseite
function dl_link_1($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'id="ff" action="')+16, (strpos($quelltext, '" method="post') - strpos($quelltext, 'id="ff" action="')-16));
return $dl_link;
}
// Downloadlink für Datei holen
function dl_link_2($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'name="dlf" action="')+19, (strpos($quelltext, '" method="post') - strpos($quelltext, 'name="dlf" action="')-19));
return $dl_link;
}
function dl_file($quelltext){
$dl_link = substr($quelltext, strpos($quelltext, 'id="ff" action="')+16, (strpos($quelltext, '" method="post') - strpos($quelltext, 'id="ff" action="')-16));
$file_arr = explode('/', $dl_link);
$file = array_pop($file_arr);
return $file;
}
function dl_verification($quelltext){
// DL-Limit erreicht. Wielange zu warten?
if(eregi('download limit',$quelltext)){
$dl_wait_time = substr($quelltext, strpos($quelltext, 'about ')+6, (strpos($quelltext, 'minutes') - strpos($quelltext, 'about ')-7));
echo 'Standby...<br>'.$dl_wait_time.' min. to wait! '.date(' - d.m.Y H:i:s');
echo $dl_wait_time;
return $dl_wait_time;
// Bereits ein DL am laufen.
}elseif(eregi('IP address',$quelltext)){
echo 'No parallel DLs';
return false;
// Datei nicht vorhanden
}elseif(eregi('check the download link',$quelltext)){
echo 'Link corrupt';
return false;
// Datei nicht vorhanden - durch RS gelöscht
}elseif(eregi('violation of our terms',$quelltext)){
echo 'File deleted by RS';
return false;
}elseif(eregi('suspected to contain',$quelltext)){
echo 'File blocked by RS';
return false;
// Dl möglich.
}else{
return "true";
}
}
// Link in jeweiliger Datei speichern : ready.txt oder error.txt
function save_link($txt_file, $txt_link){
$handle = fopen($txt_file, 'a');
$txt_link .= chr(9);
$txt_link .= date(' - d.m.Y H:i:s');
fwrite($handle, $txt_link);
fwrite($handle, "\r\n");
fclose($handle);
}
// Obersten Eintrag aus der todo Datei einlsesen
function get_link($txt_src){
$handle = fopen($txt_src, 'r');
$temp_link = fgets($handle, 1024);
fclose($handle);
return $temp_link;
}
// Nach erfolgreichem Download ersten Eintrag löschen
function delet_first_entry($txt_src){
$array = file($txt_src);
array_shift($array);
$fp = fopen($txt_src,"w");
for ($i = 0; $i<count($array); $i++){
fputs($fp, $array[$i]);
}
fclose($fp);
}
function first_entry_last($txt_src){
$array = file($txt_src);
$shifted = array_shift($array);
array_push($array,$shifted);
$fp = fopen($txt_src,"w");
for ($i = 0; $i<count($array); $i++){
fputs($fp, $array[$i]);
}
fclose($fp);
}
// Aktuellen Link einlesen - DL Link nur löschen, wenn DL möglich.
$rs_adresse = trim(get_link($txt_src));
//Prüfung ob es einen Link gibt, wenn nicht Abbruch
if ($rs_adresse != "") {
// Link zur Countdownseite und Dateinamen holen
echo 'Rapidshare-URL : <a href="'.$rs_adresse.'">'.$rs_adresse.'</a><br>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $rs_adresse);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.7) Gecko/2009011913 Firefox/3.0.6');
$page_link = curl_exec($ch);
curl_close($ch);
$link_countdown = dl_link_1($page_link);
$size = get_size($page_link);
$file = dl_file($page_link);
echo 'Größe ist: '.$size.'<br>';
echo 'Countdown-URL : '.$link_countdown.'<br>';
echo 'Filename : '.$file.'<br>';
// Wenn RS-Link ok ist:
if((dl_verification($page_link)) == true){
// Countdownseite öffnen und Dateilink holen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link_countdown);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'dl.start=Free');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
$page_countdown = curl_exec($ch);
curl_close($ch);
// Abfragen ob Download möglich ist
if(($dl_verify = dl_verification($page_countdown)) == "true"){
echo $dl_verify;
$def_dl_link = dl_link_2($page_countdown);
echo 'Download-URL : '.$def_dl_link.'<br>';
echo 'DL possible<br>';
echo 'Waiting for 60 seconds!<br>';
// Zwangspause
$countdown_prefix = "var c=";
$countdown_suffix = "; ";
$countdown_time = get_countdown_time($page_countdown,$countdown_prefix,$countdown_suffix);
// Random Offset zw. 2 und 120 Sekunden
srand((double)microtime()*1000000);
$offset = rand(2,120);
$i = $countdown_time+$offset;
echo "Waiting for $i seconds!<br>";
while($i >= 1){
echo $i.'-';
flush();
sleep(1);
$i--;
}
echo '<br>Def. DL-Link : '.$def_dl_link;
echo '<br>DL started.'.date(' - d.m.Y H:i:s')."<br><br>";
flush();
// nach Countdownablauf Dateidownload starten
$handle = fopen($dir.$file,'w');
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $def_dl_link);
curl_setopt($ch2, CURLOPT_TIMEOUT, 90000);
curl_setopt($ch2, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
curl_setopt($ch2, CURLOPT_FILE, $handle);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch2);
fclose($handle);
curl_close($ch2);
echo "<br>DL finished - ".date('d.m.Y H:i:s')."<br><br><br><br><br>";
// erfolgreichen Downloadlink in ready.txt speichern
save_link($txt_rdy, $rs_adresse);
delet_first_entry($txt_src);
} else if ($dl_verify != false) {
$wait_time = $dl_verify;
$i = $wait_time * 2;
while($i >= 1){
$min = $i / 2;
echo $min.'-';
flush();
sleep(30);
$i--;
}
}
}else{
// Aktuellen Link in error.txt speichern
save_link($dir.$txt_err, $rs_adresse);
delet_first_entry();
}
system("php /vol/xxx/dl/rs.php >> /vol/xxx/dl/err.html&");
} else {
$load_it = "false";
echo date('d.m.Y H:i:s')." - kein Link zur Verfügung<br><br><br><br>";
}
?>
Ist ohne while-Schleife, das Script ruft sich einfach am Ende selbst auf.
Das kann im ungünstigen Fall einmal zu einem Stack-Overflow führen ... Stunden, Tage, Wochen ... irgendwann einmal ...
Itari
Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.
Als Dankeschön schalten wir deinen Account werbefrei.