Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]działanie spryptu pomimo błędu 404
Forum PHP.pl > Forum > Przedszkole
ttomekb
witam pobieram zdjecia ze strony za pomoca skryptu. adresy do zdjec mam w bazie danych
jednak kiedy zdjecie sotanie usuniete to link prowadzi do strony 404... wtedy skrypt sie zatrzymuje i nie spawdza nastepnych linków z bazy i nie pobiera dalej... jka można to ominąc i żeby skrypt dalej sie wykonywal?
kreatiff
Najlepiej to ominąć tak, by działało dalej. To tak odpowiadając konkretem na konkretne pytanie.

Sprawdzaj nagłówki, jak 404 to nie pobierać i przejść do kolejnego linku.
ttomekb
Cytat(kreatiff @ 14.10.2014, 13:32:56 ) *
Najlepiej to ominąć tak, by działało dalej. To tak odpowiadając konkretem na konkretne pytanie.

Sprawdzaj nagłówki, jak 404 to nie pobierać i przejść do kolejnego linku.


tyle wiem pytanie brzmi jak
nospor
facepalmxd.gif

Dobre, napiszemy wprost, bo pewnie jeszcze przez dwa dni tak sie bedzie mozna bawic w kotka i myszke:
Podaj kod. Wróżek nie ma
ttomekb
przepraszam... byłem święcie przekonany że wrzuciłem kod...


  1. <?php
  2. ini_set('display_errors','1');
  3.  
  4. $sql_host = '';
  5. $sql_user = '';
  6. $sql_password = '';
  7. $sql_baza = '';
  8.  
  9. $link = mysql_connect($sql_host, $sql_user, $sql_password)
  10. or die("Could not connect");
  11.  
  12. mysql_select_db("$sql_baza")
  13. or die("Could not select database");
  14.  
  15. function curl($adres) {
  16. $curl = curl_init($adres);
  17.  
  18. curl_setopt($curl, CURLOPT_FAILONERROR, 1);
  19. curl_setopt($curl, CURLOPT_URL, $adres);
  20. curl_setopt($curl, CURLOPT_HEADER, 0);
  21. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  22. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  23. curl_setopt($curl, CURLOPT_TIMEOUT, 40);
  24.  
  25. $response = curl_exec($curl);
  26.  
  27. // Get the response information
  28. $code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
  29.  
  30. if($code AND $code < 200 OR $code > 299) {
  31. $error = $response;
  32. }
  33. elseif($response === false) {
  34. $error = curl_error($curl);
  35. }
  36.  
  37. // Close the connection
  38. curl_close($curl);
  39.  
  40. if(isset($error)) {
  41. throw new Exception(sprintf('[%s] %s', $code, $error));
  42. }
  43.  
  44. return $response;
  45. }
  46.  
  47.  
  48. $query = "SELECT * FROM avtoclassika WHERE image IS NOT NULL";
  49. $result = mysql_query($query)
  50. or die("Query failed");
  51.  
  52. while ($row = mysql_fetch_array($result)) {
  53. echo $row["id"] .
  54. $row["image"];
  55. $adres = $row["image"];
  56. if(trim($adres) != '') {
  57. $img = curl($adres);
  58. file_put_contents('/homepages/test/'.$row["id"].'.jpg', $img);
  59.  
  60. }
  61. }
  62.  
  63. mysql_close($link);
  64.  
  65. ?>
nospor
O tu:
throw new Exception(sprintf('[%s] %s', $code, $error));
rzucasz wyjątkiem, ktorego nigdzie nie przechwytujesz. A skoro go nie przechwytujesz, to skrypt konczy dzialanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.