Guest User

Untitled

a guest
Dec 27th, 2018
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.80 KB | None | 0 0
  1. <?php
  2. set_time_limit(0); // убираем ограничение по времени выполнения скрипта
  3.  
  4. function random_string($length){ // функция генерации рандомной строки
  5.     $chars = "abcdefghijklmnopqrstuvwxyz1234567890"; // символы из которых генерируем
  6.     $numChars = strlen($chars); // Определяем длину $chars
  7.     $string = ''; // задаем пустую переменную
  8.     for ($i = 0; $i < $length; $i++) { // Собираем строку
  9.         $string .= substr($chars, rand(1, $numChars) - 1, 1);
  10.     }
  11.     return $string; // Возвращаем готовую строку
  12. }
  13.  
  14. function curl_tt($url){
  15. $ch = curl_init();
  16. $userAgent = 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0';
  17. curl_setopt( $ch, CURLOPT_USERAGENT, $userAgent );
  18. curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
  19. curl_setopt($ch, CURLOPT_HEADER, 0);
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  21. curl_setopt($ch, CURLOPT_URL, $url);
  22. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);  
  23. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 3);    
  24. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  25. $data = curl_exec($ch);
  26. curl_close($ch);
  27.  
  28. return $data;
  29. }
  30.  
  31. while (1) {
  32.     $randstring = random_string(5); // генерируем рандомную сроку
  33.     $htmldata = curl_tt('https://prnt.sc/1'.$randstring); // подставляем рандомную строку и получаем код страницы
  34.     preg_match_all('/<meta name=\"twitter:image:src\" content=\"(.*?)\"\/>/is',$htmldata,$img_url); // парсим регуляркой url картинки
  35.     if (strlen($img_url[1][0]) > 1) { // проверяем длину полученной строки, если больше 1 - картинка по этому адресу есть
  36.         $localname = array_pop(explode('/',$img_url[1][0])); // разбиваем строку в массив и извлекаем последний элемент массива (т.е. imagename.png)
  37.         $localpath = "./images/".$localname; // определяем куда будет сохраняться картинка локально. у меня заранее создана папка images
  38.         file_put_contents($localpath, curl_tt($img_url[1][0])); // скачиваем, можно было бы реализовать через curl, но на мой взгляд это проще и быстрее
  39.        
  40.         echo "<span style='color: green; display: block; margin-bottom: 50px;'>Сохранение - ".$localname." , url - http://prntscr.com/1".$randstring." , скачиваем с ".$img_url[1][0]."</span>";
  41.     } else {
  42.         echo "<span style='color: red; display: block; margin-bottom: 50px;'>По адресу http://prntscr.com/1".$randstring." нет картинки</span>";
  43.        
  44.     }
  45.    
  46. }
  47. ?>
Advertisement
Add Comment
Please, Sign In to add comment