В том то и дело что нет:( Один раз работали когда - у человека ВДС падал раз в час, выяснилось что граббер пытавшийся брать инфу через file_get_contents ронял вдс когда удаленный хост был недоступен (не разбирались почему именно - из-за неответа или днс). Допускаем, конечно, что проблема была в версии пхп или еще чем-то, но смена механизма на curl помогла.
По поводу поиска по тексту - если надо искать точную простую последовательность, то stristr. Если что-то более сложное - preg_match.
Первая и главная - не надо забивать шурупы молотком:) Файловые функции надо оставить для работы с файлами, а для работы с урлами использовать урловые. Это логично как бы.
А так... Урловые функции быстрее, урловые функции не подвесят сервер если сайт на который идет запрос не отвечает (было такое), урловые функции не зависят от настроек allow_url_fopen (который хостер иногда принудительно запрещает), урловые функции таки содержат настройки для работы с урлами (иногда для грабления надо посылать заголовки специфичные, или по тайм-ауту отрубаться и т.д. и т.п.), с урловыми функциями Вы не будете удивлятся почему у Вас "while (!feof($handle)) {" не докачивает файл хотя "это же так в мануале" (тоже из практики), можно было еще чего-нибудь вспомнить, но имхо достаточно.
Главный аргумент все-таки первый. Для урлов надо пользоваться инструментом предназначенным для урлов, а не надстройкой костылями над функциями файловой системы. А учитывая что урловые функции ничуть не сложнее файловых в применении (разве нет?)... так "зачем же?" (с)
Ни в коем случае не надо использовать файловые функции типа fopen, file_get_contents, file и т.д., это ужасно.... по многим причинам.
Идеально - curl, если этой либы не стоит (у всех нормальных хостеров она стоит), тогда fsockopen и далее по тексту.
И к fsockopen и к curl есть в мане примеры для чтения урлов удаленных.
Странно, какой версии FCKEditor? Filemanager родной?
По "решению" проблемы - найдите все php файлы в FCKEditor-е и добавьте после команды mkdir ($chto-to...,... ) команду chmod($chto-to,0777);
и после move_uploaded_file( ....., $chto-to) ; добавить chmod($chto-to,0666);
Может помочь. Хотя последние версии FCKEditor-а такой проблемы не имели, там уже было все добавлено.
Жесткое ТЗ на дизайн? Нонсенс. Если конечно интересы заказчика хоть как-то учитываются. Вот поэтому мы не занимаемся дизайном в принципе:)
Тогда понятно откуда у Вас проблемы - от самого подхода. Имхо - или займитесь созданием сайтов профессионально (читать как - сделайте это своей профессией, получайте доход) или завяжите с этим совсем и не мучайте ни дизайнеров ни клиентов.
P.S.: А любопытно было бы забракованное посмотреть.
А у нас именно предусмотрена 😕 , более того, мы спрашивали у поддержки обязательна ли она (активная ссылка) и нам сказали что таки да, если branding free нету. С год назад это было, может что-то изменилось.
Вполне адекватный ресурс. Плюс вот именно на "тот" сайт что мы упомянули, регистрация (по крайней мере раньше) была только по номеру лицензии. Что все-таки тоже хоть какой-то, но фильтр. И плюс, как бы то ни было - английский интернационален, хаков и прочего больше по определению.
Нас лично смущают русские ресурсы, после того как в скачанном нами переводе от zCarrot ссылка на оф.сайт воблы оказалось заменена ссылкой на сайт переводчика - заметили случайно - а ведь могли и лицензию на воблу за это отобрать (благо branding free у нас не куплено).
vbulletin лучше:)
По поводу "хаков, модов и прочего" - если нет проблем с английским - http://www.vbulletin.org/
Не студия, а фрилансеры, но платим от 5% за присыл клиента просто к нам, до 50% за подгон четкого и внятного заказа от уже готового клиента.
Лично мы не меняли капчу, просто подредактировали текущую, правда у нас версия 3.0.х, поэтому Вам может не подойдет, но по аналогии может сделаете
image.php
ищем
// Temp image that creates string $temp_width = 135; $temp_height = 20; // Resized image that blows up string. $image_width = 201; $image_height = 61;
пишем туда слегка измененные значения - в пределах 10% (можно и больше).
// horizontal grid for ($x = 0; $x <= $image_height; $x += 20)
Ищем
$colors = array( 1 => array('255,255,255', '0,0,0'), // black on white 2 => array('0,0,0', '255,255,255'), // white on black
Все эти коды в районе imagecreate вызова функции первого и ниже.
Лично у нас убило практических всех ботов, поэтому больше делать ничего не стали.