Сравни вариант с флагами и с goto, что будет выглядеть понятнее и проще реализовано. (уровень вложенности может быть и не два, а больше, сколько тогда флагов будет...). А насчет continue - это отдельный вопрос, который break'а не касался)
Не, не то. Ситуация такая: нужно открыть файл с неопределённым кол-вом строчек и дописать туда ещё строку (режим a+), прилепив к ней номер записанной строки в файле. Нужен именно рациональный способ. если он есть конечно. Понятно, что можно читать файл до конца, посчитав скока там строчек и когда дописываешь ещё одну - приплюсовать ещё +1, но это мне кажется ресурсоёмким. Что-нить более рациональное есть? [upd] И ещё: нужно принудительно поставить указатель на определённую строку
Если у тебя все строчки добавлялись в файл по этому принципу, то можно считать последнюю строку, "выдрать" из нее номер, добавить к нему единицу и записать в новую: PHP: $f = fopen('file', 'a+'); $str = ''; for ($i = -1, $cnt=0; $cnt < 1; $i--) // <2 если после добавления строки перевод на новую строку { fseek($f, $i, SEEK_END); $tmp = fread($f, 1); if ($tmp == "\n") { $cnt--; } else { $str .= $tmp; } } fseek($f, 0, SEEK_END); $str = strrev($str); Как выдрать номер, одному богу да тому, кто в файл писал, известно. Используй регексп [upd] А по поводу установки указателя в нужное место, имхо тут нужен поиск по файлу по методу (не помню как называется, поэтому будет так) случайных чисел. Суть метода: • fseek'ом переещаемся в позицию rand(0, filesize($file)) • считываем ближайшую строку • выдираем из нее номер, если он больше нужного, то изменяем большую границу в rand на текущее положение, меньше - меньшую соответственно. • возвращаемся в первый пункт Таким образом гуляем по файлу, пока е найдем нужную строку. Хоть алгоритм и кажется долгодействующим и неработоспособным - это далеко не так. На ленте препод за 10 переходов угадал загаданное от 0 до 1000 число.
Code: $sourceimg = imagecreatefromjpeg($url); какой функцией можно данное изображение сделать бинарным (черное и белое)?
Если при сохранении, то imagewbmp($im); или image2wbmp($im); wbmp - формат ч/б изображений для мобилы(большие размеры коряво переделываются)
Помогите! У меня есть скрпт на php отображающий статистику. Всё что-нужно есть... Теперь нужно слева прилипить картинку вытащиную с сайта и уменьшиную до 60x50. Плиз помогите! Размер фона 350x50
Hormold, кто ясно мыслит, тот ясно говорит. К тебе по-видимому это не относится. По нормальному напиши что требуется.
Нужно вставить в юзер бар(с cs-статой) на php слево картинку(например http://img.ru/img.jpg). Размер юзер бара 350x50 Картинку нужно уменьшить до 60x50.
Работаю с mod_rewrite, вот правило: Code: RewriteRule ^tyres/brand/(.*)$ index.php?do=tyres_brand&tmark=$1 [L] Есть также ссылка Code: http://xxxx.xx/tyres/brand/Nexen+%26+Roadstone Последняя часть это "Nexen & Roadshore", прогнанная через urlencode() Суть проблемы: в $_GET['tmark'] попадает только Nexen, т.е. Code: $_GET: Array ( [do] => tyres_brand [tmark] => Nexen [Roadstone] => ) Т.е. хоть амперсанд и прогнан через urlencode, он все равно определяется, как разделитель переменных. Вопрос: как этого избежать? P.S.: При этом не хотелось бы потерять сам смысл ЧПУ /о варианте с base64 я уже думал/
Хм..так подумал.. Может попробовать Code: RewriteRule ^/tyres/brand/([^/]+)$ index.php?do=tyres_brand&tmark=$1 [L,QSA]
Это, собственно, ничего не меняет, т.к. mod_rewrite перенаправление делает правильное. Только при этом он, по всей видимости, прогоняет через аналог urldecode() переменную $1, которую берет из URI. Можно ли это отключить?
В общем, сделал так: .htaccess: Code: RewriteRule ^tyres/brand/([^/]+)$ index.php?do=tyres_brand&tmark=$1 [E=TMARK:$1] [L] А нужную переменную беру из $_SERVER['REDIRECT_TMARK'], туда попадает в целости и сохранности)
у меня вопрос, вот есть форма, пользователь вводит данные, как сделать чтобы при нажатии на кнопку отсылки данных данные передавались одному файлу а пользователь переходил на другой?
Дана Mysql таблица: Code: create table lala(ID int,someshit text,primary key(ID)); как инсертить в эту таблицу записи чтобы ID у записи был на 1 больше чем у максимального ID(последней записи)?
2scrat Code: create table lala(ID int auto_increment,someshit text,primary key(ID)); Или что-то похожее, т.е. чтоб при добавлении автоматически присваивался ID на единицу больше