Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Nauka PHP(co dalej) + pierwszy skrypt.
-Kolorek9119-
post 7.08.2013, 15:24:39
Post #1





Goście







Witam, pytanie z serii: "Co dalej?" + problem z moim pierwszym skryptem.

Tak więc, przerobiłem kilka kursów php. Znam podstawową konstrukcję, pętle, instrukcje warunkowe, zmienne, zasady programowania obiektowego, potrafię się łączyć z bazą danych i tworzyć jakieś podstawowe zapytania. I co dalej? Nie potrafię za bardzo sobie poradzić już z praktycznym zastosowaniem php w środowisku www. Chciałbym np. napisać skrypt który pobierałby obrazki z danej strony i zapisywał je w folderze na moim komputerze. (1 obrazek = 1 plik).

Co ja o tym myślę?
1. Muszę się połączyć ze stroną.
2. Wyselekcjonować obrazki (czyli wszystko co ma tag <img>) czyli znaleźć je.
3. Pobrać do folderu.

Prosiłbym o jakieś wskazówki. Pozdrawiam.
Go to the top of the page
+Quote Post
pitu
post 7.08.2013, 15:29:00
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

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


1. file_get_contents
2. Wyrażenia regularne lub PHP Simple HTML DOM Parser
3. file_put_contents


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
b4rt3kk
post 8.08.2013, 10:41:37
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Kolorek9119 @ 7.08.2013, 16:24:39 ) *
Witam, pytanie z serii: "Co dalej?" + problem z moim pierwszym skryptem.

Tak więc, przerobiłem kilka kursów php. Znam podstawową konstrukcję, pętle, instrukcje warunkowe, zmienne, zasady programowania obiektowego, potrafię się łączyć z bazą danych i tworzyć jakieś podstawowe zapytania. I co dalej? Nie potrafię za bardzo sobie poradzić już z praktycznym zastosowaniem php w środowisku www. Chciałbym np. napisać skrypt który pobierałby obrazki z danej strony i zapisywał je w folderze na moim komputerze. (1 obrazek = 1 plik).

Co ja o tym myślę?
1. Muszę się połączyć ze stroną.
2. Wyselekcjonować obrazki (czyli wszystko co ma tag <img>) czyli znaleźć je.
3. Pobrać do folderu.

Prosiłbym o jakieś wskazówki. Pozdrawiam.


Jeśli masz zamiar pobierać te pliki do folderu na Twoim komputerze, to nie ma takiej możliwości. Chyba, że chodzi Ci o folder na lokalnie działającym serwerze.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
-Kolorek9119-
post 8.08.2013, 13:07:56
Post #4





Goście







  1. <?php
  2. include('simplehtmldom_1_5/simple_html_dom.php');
  3.  
  4. $html = file_get_html('STRONA Z OBRAZKAMI');
  5.  
  6. $i = 0;
  7. $toFile = 'C:\\ZDJECIA\img';
  8. foreach($html->find('img') as $element){
  9. $img = fopen($element->src, 'r');
  10. file_put_contents($toFile.$i.'.jpg', $img);
  11. fclose($element->src);
  12. $i++;
  13. }
  14.  
  15.  
  16. ?>


Stworzyłem coś takiego. Na jednej stronie mi zadziałało i pobrało obrazki do folderu, a z innej już nie. Co tutaj jest źle?
Go to the top of the page
+Quote Post
-sciezka-
post 8.08.2013, 13:27:20
Post #5





Goście







sciezka 7 linijka
  1. $toFile = 'C:\\ZDJECIA\img';
Go to the top of the page
+Quote Post
-Kolorek9119-
post 8.08.2013, 13:36:07
Post #6





Goście







Cytat(sciezka @ 8.08.2013, 13:27:20 ) *
sciezka 7 linijka
  1. $toFile = 'C:\\ZDJECIA\img';

Nie rozumiem. Przecież łączy mi się z tą ścieżką i zapisuje pliki do tego folderu. Błąd musi być gdzieś indziej. Wydaje mi się, że coś "blokuje kod". Bo na jednej stronie mi działa na innej już nie.
Go to the top of the page
+Quote Post
-Kolorek9119-
post 8.08.2013, 15:54:30
Post #7





Goście







Dobra udało mi się poprawić skrypt. Tutaj końcowy efekt:
  1. <?php
  2. include('simplehtmldom_1_5/simple_html_dom.php');
  3. ini_set('max_execution_time', 300);
  4.  
  5. $html = file_get_html('STRONA WWW');
  6.  
  7. $i = 0;
  8. $toFile = 'KATALOG GDZIE MAJA BYĆ ZAPISANE OBRAZKI';
  9.  
  10. foreach($html->find('img') as $element){
  11. $img = $element->src;
  12. if(preg_match('/^[http]/', $img)){
  13. $imgOpen = fopen($element->src, 'r');
  14. file_put_contents($toFile.$i.'.jpg', $imgOpen);
  15. fclose($imgOpen);
  16. $i++;
  17. }
  18.  
  19. }
  20. echo "Pobieranie obrazków ukończone";
  21.  
  22. ?>

Jakieś sugestie co do kodu? Bo na pewno nie jest najwyższej jakości smile.gif
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 Wersja Lo-Fi Aktualny czas: 13.06.2025 - 09:58