Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt sprawdzający linki, proszę o pomoc ;)
rakow
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2015

Ostrzeżenie: (0%)
-----


Witam, potrzebuję skryptu sprawdzającego czy wklejone przeze mnie linki działają. Miałoby to wyglądać tak że wklejam linki a skrypt oznacza kolorami (na zielono działające, na czerwono niedziałające) linki.

Przykład linka niedziałającego:
Kod
https://rapidu.net/8911858378/test.txt


"Trwają prace techniczne...
Przepraszamy, ale na serwerze docelowym
trwają prace techniczne..."

Przykład linka działajacego:
Kod
https://rapidu.net/5711858385/test1.txt


są opcje pobierania itp.

Skrypt miałby tylko sprawdzać który link działa a który nie (nic nie pobiera).

Czy ktoś byłby w stanie mi pomóc? (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
patryczakowy
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


file_get_contents a następnie sprawdzić co zawiera pobrana zawartość.
Go to the top of the page
+Quote Post
rakow
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2015

Ostrzeżenie: (0%)
-----


Nie mam pojęcia jak się za to zabrać, nie miałem za dużej styczności z php. mógłby ktoś napisać mi taki skrypt? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
patryczakowy
post
Post #4





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Prosta funkcja sprawdzająca mogła by wyglądać tak:
  1. function checkUrl($url) {
  2.  
  3. if (filter_var($url, FILTER_VALIDATE_URL)) {
  4. $data = file_get_contents($url);
  5. if (!empty($data)) {
  6. if (strpos($data, 'img/error.png') === false) {
  7. echo '<span style="color:green">' . $url . '</span><br/>';
  8. } else {
  9. echo '<span style="color:red">' . $url . '</span><br/>';
  10. }
  11. } else {
  12. echo '<span style="color:red">' . $url . '</span><br/>';
  13. }
  14. } else {
  15. echo '<span style="color:red">' . $url . '</span><br/>';
  16. }
  17. }
  18.  
  19. checkUrl('https://rapidu.net/8911858378/test.txt');
  20. checkUrl('https://rapidu.net/5711858385/test1.txt');
Go to the top of the page
+Quote Post
rakow
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2015

Ostrzeżenie: (0%)
-----


łaaaał, dzięki wielkie (IMG:style_emoticons/default/wink.gif)

da się zrobić tak żeby zamiast
checkUrl('https://rapidu.net/8911858378/test.txt');

checkUrl wczytywał dane z pliku txt zamieszczonego w tym samym folderze? (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
patryczakowy
post
Post #6





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Da się ale to już tobie zostawię jako zadanie domowe (IMG:style_emoticons/default/smile.gif) nie mogę zrobić wszystkiego za ciebie. to ci powinno pomóc http://php.net/manual/en/function.fgets.php
Go to the top of the page
+Quote Post
rakow
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2015

Ostrzeżenie: (0%)
-----


okej, pokombinuję sam. jeszcze raz bardzo dziękuję (IMG:style_emoticons/default/wink.gif)

Chyba jednak mnie to przerosło :/

Kod
<?php
    function checkUrl($url) {
    
        if (filter_var($url, FILTER_VALIDATE_URL)) {
            $data = file_get_contents($url);
            if (!empty($data)) {
                if (strpos($data, 'img/error.png') === false) {
                    echo '<span style="color:green">' . $url . '</span><br/>';
                } else {
                    echo '<span style="color:red">' . $url . '</span><br/>';
                }
            } else {
                echo '<span style="color:red">' . $url . '</span><br/>';
            }
        } else {
            echo '<span style="color:red">' . $url . '</span><br/>';
        }
    }

$linki = fopen("linki.txt", "r");
    
    checkUrl('fgets($linki, 4096)');
  
    
?>


co robię źle? ;/
Go to the top of the page
+Quote Post
patryczakowy
post
Post #8





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Jeśli każdy link jest w nowej lini:
  1. $handle = fopen("linki.txt", "r");
  2.  
  3. while (($url = fgets($handle, 4096)) !== false) {
  4. checkUrl($url);
  5. }
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 00:20