А по качеству предоставляемых услуг и поддержки как они?
Если для серьезного проекта - то smsmail.ru самый надежный вариант, но за деньги.
Да нету таких... И вопрос не сюда
/ru/forum/development/hosting
Ну во первых подписи на картинках.
Была еще мысль - на картинку генерить табличку с одной ячейкой, в саму ячейку вставлять прозрачный гиф - размером с изображение, а само изображение - бэкграундом :) Но это от совсем дураков защита, да и принтскрин никто не отменял.
Еще вариант через флеш сделать просматривалку - сами картинки лежат в директории не доступной из вне, а флешка подгружает в зависимости от переданных параметров, но тут опять же с принтскрином косяк.
Согласен с Kolyaj, надо менять алгоритм, а не увеличивать время на выполнение скрипта. Тем более не на всех хостингах это можно сделать.
Цикл бесконечный получился. Покажи целиком как сделал 5-й цикл.
И еще вопрос, зачем? :)
Бильярд в клубе? Оригинально :)
Здесь можете посмотреть что научились обходить botmaster.ru/pictocod/
А зачем? Это похоже на клоны milliondollarshomepage
Может быть и ошибаюсь
Вот пример, на него уже можно накручивать все что угодно :)
Страница с формой:
<html><body> <form name="data_form" id="data_form" action=""> <select name="sel" id="select_data" onChange="(this.value > 0) ? document.getElementById('work_frame').src='iframe.php?str='+this.value : alert('выберите один из вариантов')"> <option value="0">выберите</option> <option value="1">один</option> <option value="2">два</option> <option value="3">три</option> </select> <select name="sel2" id="select_data2"> <option value="0">выберать значение в предыдущем списке</option> </select> </form> <div style="display: none;"><iframe id="work_frame" src="" width="0" height="0"></iframe></div></body></html>
Файл iframe.php:
<script type="Text/JavaScript">newVal = new Array();<?$str = isset($_GET['str']) ? $_GET['str'] : 0;/// Здесь получаются данные с удаленного сервера и формируется JavaScript массив значенийfor ($i = 0; $i <= $str; $i++){ echo "newVal[" . $i . "] = new Array('" . $i . "', '" . str_repeat("!", $i + 1) . "');";}?>sel_list = parent.document.getElementById('select_data2'); /// Инициализируем список для редактированияsel_list.options.length = 0; /// Удаляем элементы из спискаfor(i = 0; i < <?=$str;?>; i++){ if (document.createElement) { var newOne = document.createElement("OPTION"); newOne.text = newVal[1]; newOne.value = newVal[0]; // тут мы используем для добавления элемента либо метод IE, либо DOM, которые, alas, не совпадают по параметрам… (sel_list.options.add) ? sel_list.options.add(newOne) : sel_list.add(newOne, null); } else { // для NN3.x-4.x sel_list.options = new Option(i, i, false, false); }}</script>