| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

10-07-2010, 20:21
|
|
hamalblues
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 6
|
|
broken links - LinkChecker
Hallo Leute ich ..?(
ich hab eine Url/Link Checker System auf meine Website eingebaut. ... das ganze funktioniert, außer phptypische besondere Bedarfe.
hier ist ein teil der script
PHP-Code:
function unique_urls($urls) { $curls = array(); for ($i=0; isset($urls[$i]); $i++) { if (!in_array($urls[$i], $curls)) { $curls[] = $urls[$i]; } } return $curls; }
if(isset($_GET['links'])) { $links = unique_urls($_GET['links']); $timeout = (int) $_GET['timeout']; $result = Array(); foreach ($links as $l) { $result[] = array('href'=>rtrim($l, '/\\') , 'status'=>url_exists($l, $timeout) ? 'active' : 'inactive'); }
echo ($result); }
wo muss ich die untere einfügen, damit die depositfiles funktioniert ?
PHP-Code:
$result[] = array("depositfiles\.com\/([a-z]{2}\/)?files\/", "File Name", "@(com\/files\/)|(com\/[a-z]{2}\/files\/)@i", "com/en/files/");
und hier ein example(); nachdem ich alles versucht habe, hat nix geholfen
PHP-Code:
if(isset($_GET['links'])) { $url = unique_urls($_GET['links']); $timeout = (int) $_GET['timeout']; $links = array( array("rapidshare\.com\/files\/", "FILE DOWNLOAD"), ); $result = Array(); foreach ($links as $l) { if(eregi($l[0], $url)) { $result[] = array('href'=>rtrim($l, $l[1], $l[2], $l[3]) , 'status'=>url_exists($l, $timeout) ? 'active' : 'inactive'); } } echo ($result); }
|

10-07-2010, 23:42
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo und willkommen im Forum,
dein Problem ist so nicht nachvollziehbar. Es sind keine Kommentare im Code, es ist nicht feststellbar, was du an welcher Stelle womit erreichen willst, nicht mal das Format von $result erschließt sich einem auf den ersten Blick. Links müssten eigentlich erstmal kanonisiert werden, um sie prüfen zu können. Deinen regulären Ausdrücken ist das aber derzeit nicht zuzutrauen.
Wenn du dein Anliegen und deinen Code nochmal nachvollziehbar erläutern könntest, sehe ich sogar eine Chance, dir doch helfen zu können, denn einen Linkchecker werden die meisten von uns sicherlich schon einmal gebaut haben, ich hätte jedenfalls einen in der Schublade.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

11-07-2010, 14:15
|
|
hamalblues
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 6
|
|
Zitat:
Zitat von AmicaNoctis
Hallo und willkommen im Forum
|
'Danke'
das ganze soll eine Universal AJAX Links Checker sein, alles funktioniert aber es entspricht nicht mein plan B*. This file is broken! jetzt soll der * funktionieren, damit der script die broken files erkennt.
so muss das eigentlich aussehen, aber der Fehler ist bei array Anordnung
PHP-Code:
if(isset($_GET['links'])) { $links = unique_urls($_GET['links']); $timeout = (int) $_GET['timeout']; $result = Array(); foreach ($links as $l) { $result[] = array('href'=>rtrim($l, '/\\') , 'status'=>url_exists($l, $timeout) ? 'active' : 'inactive'); $result[] = array('href'=>rtrim($l, 'rapidshare\.com\/files\/'), 'status'=>url_exists($l, $timeout) ? 'active' : 'inactive'); }
echo php-resource($result); }
array Anordnung
PHP-Code:
$result[] = array('href'=>rtrim($l, 'rapidshare\.com\/files\/'), 'status'=>url_exists($l, $timeout) ? 'active' : 'inactive');
|

11-07-2010, 15:07
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von hamalblues
PHP-Code:
rtrim($l, 'rapidshare\.com\/files\/')
|
Die Funktion rtrim hat mit regulären Ausdrücken gar nichts zu tun und auch ansonsten ist dein Anliegen in Bezug auf den Code nicht klarer geworden.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

11-07-2010, 15:17
|
|
hamalblues
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 6
|
|
Zitat:
Zitat von AmicaNoctis
Die Funktion rtrim hat mit regulären Ausdrücken gar nichts zu tun und auch ansonsten ist dein Anliegen in Bezug auf den Code nicht klarer geworden.
|
rtrim — Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings
|

11-07-2010, 15:25
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von hamalblues
rtrim — Entfernt Leerraum (oder andere Zeichen) vom Ende eines Strings
|
Eben, darum entfernt
PHP-Code:
rtrim($l, 'rapidshare\.com\/files\/')
einfach alles vom Ende des Strings, bis es kein R, A, P, …, E, S, Backslash und Slash mehr ist. Das wirst du ja aber nicht meinen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
|
|
|
|
PHP News
|