Скрипт создания скриншотов - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Sat, 11 Jan 2025 05:02:08 +0300 Теперь скрипт делает скрины не только главной страницы сайта. https://visavi.net/topics/35798/609523 Скрипт создания скриншотов Александр Tue, 18 Dec 2012 17:28:05 +0400 Сообщения https://visavi.net/topics/35798/609523 20. <strong>...RESIDENTOV...</strong>, утер? ок. https://visavi.net/topics/35798/609496 Скрипт создания скриншотов Дмитрий Tue, 18 Dec 2012 15:01:19 +0400 Сообщения https://visavi.net/topics/35798/609496 19. <strong>dima.london</strong>, бери парня на работу. Утер <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> https://visavi.net/topics/35798/609417 Скрипт создания скриншотов Макс Mon, 17 Dec 2012 23:22:21 +0400 Сообщения https://visavi.net/topics/35798/609417 ок[b][/b] https://visavi.net/topics/35798/609415 Скрипт создания скриншотов Дмитрий Mon, 17 Dec 2012 23:09:13 +0400 Сообщения https://visavi.net/topics/35798/609415 А причём тут СИ? Это разные языки программирования и сравнивать их глупо. В PHP, например, нет такой жёсткой типизации как в Си.<br> <br> P.S. код выше сработает не аналогично.<br> Например:<br> <pre class="prettyprint">$s = FALSE; if(isset($s)) { echo &#039;Условие выполнилось&#039;; }</pre> Условие выполнится.<br> А если сделать так:<br> <pre class="prettyprint">$s = FALSE; if($s) { echo &#039;Условие выполнилось&#039;; }</pre> Условие никогда не выполнится, а так как функция screen() возвращает либо FALSE, либо текст (что соответствует TRUE) это разные записи и результат их выполнения будет отличен. https://visavi.net/topics/35798/609412 Скрипт создания скриншотов Александр Mon, 17 Dec 2012 22:46:23 +0400 Сообщения https://visavi.net/topics/35798/609412 if ($s = screen($url)) {<br> сработает аналогичному<br> if(isset($s)) {<br> <br> и книжки тут не при чем. Читайте мануалы по СИ. https://visavi.net/topics/35798/609411 Скрипт создания скриншотов Дмитрий Mon, 17 Dec 2012 22:35:09 +0400 Сообщения https://visavi.net/topics/35798/609411 Рассмотрев весь твой код я привёл его к нормальному виду:<br> <pre class="prettyprint">function screen($url, $browser=&quot;ie9&quot;) { $urlstr = &#039;http&#58;//ipinfo.info/netrenderer/index.php?url=&#039;.urlencode($url).&#039;&amp;browser=&#039;.$browser; if(($content = file_get_contents($urlstr))) { if(preg_match(&#039;/image\.php\?imgid=(.+?)&quot;/i&#039;, $content, $h) != 0) { return $h&#91;1]; } } return false; }</pre> <br> P.S. если уж делаешь присвоение в условии то его необходимо выделять в отдельные круглые скобки. Это я тебе про этот кусок кода:<br> <pre class="prettyprint">if ($s = screen($url)) { echo &#039;&lt;img src=&quot;http&#58;//renderer.geotek.de/image.php?imgid=&#039; . $s . &#039;&quot; alt=&quot;&quot;&gt;&#039;; }</pre> Условие должно быть таким:<br> <pre class="prettyprint">if(($s = screen($url))) {</pre> <br> P.P.S. можешь сжечь книжки по которым тебя учили, &quot;старший&quot;. Вместо того чтоб языком чесать не по делу пошёл бы и подучил PHP.<br> Надеюсь я снизел твою самооценку и спустил тебя с небес <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br> <br> P.P.P.S. никого не хотел обидеть, просто надоело уже... всем peace, пишите скрипты, для вас 10 мин строчил пост Okula ;) https://visavi.net/topics/35798/609402 Скрипт создания скриншотов Александр Mon, 17 Dec 2012 21:54:48 +0400 Сообщения https://visavi.net/topics/35798/609402 9. <strong>dima.london</strong>, мда, тебе как кодеру должно быть стыдно за свои слова <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br> Начну с самого начала:<br> <pre class="prettyprint">function screen($url=&quot;&quot;, $browser=&quot;ie9&quot;) { if (!empty($url)) {</pre> <strong>Первое:</strong> Делать проверку на пустоту переменной внутри тела функции, делая этот аргумент функции по умолчанию пустым, - это быдлокод.<br> Все проверки должны быть осуществлены до того как данные попали в функцию, дабы исключить пустой результат.<br> Ты же умышленно разрешаешь использование пустого результата в переменной $url, тем самым провацируя скрипт на проверку.<br> <strong>Второе:</strong> для чего был задан второй аргумент функции $browser, если он нигде не используется?<br> Я так понимаю он должен вставляться в адрес URL browser=&#039;.$browser Сочтём это за твою невнимательность. Идём далее:<br> <pre class="prettyprint">$content=file_get_contents(&#039;http&#58;//ipinfo.info/netrenderer/index.php?url=&#039; .$url .&#039;&amp;browser=ie7&#039;);</pre> Вот ещё кусок быдлокода <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> Вставляя адрес из переменной $url ты забываешь экранировать данные функцией urlencode(). Привет XSS уязвимости <img src="https://visavi.net/uploads/stickers/hello.gif" alt="hello"> :<br> <strong>Третье:</strong> смотрим код дальше:<br> <pre class="prettyprint">preg_match_all(&#039;/image.php\?imgid=(.*?)&quot;/i&#039;, $content, $h);</pre> Символ &quot;.&quot; (точка) является спецсимволом регулятного выражения (совпадает с любым символом, кроме символа перевода строки) который тоже необходимо эранировать.<br> Использование функции preg_match_all(), для получения единичного совпадения по шаблону регулярного выражения, в данном месте не уместно. Достаточно функции preg_match()<br> Ну а проверка ниже меня просто убила:<br> Твой код:<br> <pre class="prettyprint">if (isset($h) &amp;&amp; isset($h&#91;1]&#91;0])) {</pre> Если регулярка сработала и совпадение нашлось то все её параметры будут заполнены.<br> Достаточно поместить функцию preg_match() в условие и она исключит все ненужные проверки. https://visavi.net/topics/35798/609401 Скрипт создания скриншотов Александр Mon, 17 Dec 2012 21:54:17 +0400 Сообщения https://visavi.net/topics/35798/609401 <a href="http://www.s-shot.ru/" target="_blank" rel="nofollow">http://www.s-shot.ru/</a> https://visavi.net/topics/35798/609380 Скрипт создания скриншотов TRAIL Mon, 17 Dec 2012 20:22:34 +0400 Сообщения https://visavi.net/topics/35798/609380 12. <strong>Sonikflame</strong>, ок, покупай то,что в 7 посте выложено бесплатно )) https://visavi.net/topics/35798/609374 Скрипт создания скриншотов Дмитрий Mon, 17 Dec 2012 19:51:09 +0400 Сообщения https://visavi.net/topics/35798/609374 за 10р возьму. https://visavi.net/topics/35798/609373 Скрипт создания скриншотов Sonikflame Mon, 17 Dec 2012 19:47:26 +0400 Сообщения https://visavi.net/topics/35798/609373 Хороший ребята,из-за 50 рублей такую бессмысленную тему устроили https://visavi.net/topics/35798/609372 Скрипт создания скриншотов Geor Mon, 17 Dec 2012 19:46:54 +0400 Сообщения https://visavi.net/topics/35798/609372 на венике за 30рублей продавали <img src="https://visavi.net/uploads/stickers/D.gif" alt="D"> https://visavi.net/topics/35798/609371 Скрипт создания скриншотов BenZzOReZ Mon, 17 Dec 2012 19:44:47 +0400 Сообщения https://visavi.net/topics/35798/609371 // а вдруг пользователь не указал урл<br> if (!empty($url)) {<br> <br> // а вдруг контент не отобрался<br> if ($content) {<br> <br> // а вдруг массив $h не выбрался, а если выбралсяь, то в нем значения [1][0] нет<br> if (isset($h) &amp;&amp; isset($h[1][0])) {<br> <br> Слушай, чему тебя старшие учат, а не тому, чему Попов в своих уроках проповедует. Я бы этому Попову компилятор бы подчистил, чтобы не учил людей гoвнокодить. https://visavi.net/topics/35798/609370 Скрипт создания скриншотов Дмитрий Mon, 17 Dec 2012 19:44:01 +0400 Сообщения https://visavi.net/topics/35798/609370 7. <strong>dima.london</strong>, значит у тебя кокашка код <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br> Во-первых ошибка в регулярке, во-вторых лишних проверок дофига.<br> Мой скрипт работает с API стороннего сервиса, да это так.<br> Код для получении скриншота - одна строка.<br> Всё остальное - это подготовка данных для стороннего API.<br> Скриншоты сохраняются на том же сервере что и установлен скрипт.<br> В отличии от твоего сервиса мой умеет делать полноразмерные скриншоты.<br> P.S. цена и так смешная, менять её я не буду, если для кого-то это много - копите деньги со школьных завтраков <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> https://visavi.net/topics/35798/609350 Скрипт создания скриншотов Александр Mon, 17 Dec 2012 18:01:09 +0400 Сообщения https://visavi.net/topics/35798/609350