У Брукса в "мифическом человеко-часе..." есть мудрая мысль, что перфекционизм в бизнес-проектах неуместен. Особенно на фоне мудрой мысли другого автора (не помним к сожалению), что любой код можно улучшить. Само по себе использование 170 строк с case-ом ни о чем не свидетельствует:)
Еще обиднее, что есть другая грань - "суперпрограммисты" которые способны годами улучшать "hello world" (утрируем немного). Хороший программер умеет придерживаться золотой середины.
Последняя категория на самом деле должна называться "есть люди которые не понимают/не замечают, что они тоже на кого-то работают":)
Вот чуть выше vrom - наверняка поможет:) вроде бы первый кто начал активно typo3 в россию двигать.
joomla и mambo, мягко говоря, не менее дырявы чем php-nuke и сервер грузят так же. А то что на форумах часто пишут... дык ни по жумле ни по мамбе нет ни такого количества пользователей, ни такого единого ресурса, ни такого количества новичков, которые сами дырки проковыряют, а потом страдают:) Плюс софт распространенный - со всеми вытекающими... в том числе и с конкурентами, которые могут приподнятся только за счет опускания других. В общем первые 3 пункта в принципе равнозначны и 3-ий перевешивает на самом деле.
А вот typo3 просто из другой оперы совершенно. На Вашем месте мы бы посмотрели её обязательно, раз уж Вы её включили в список для рассмотрения... обычно не включают:)
1 клон 2-ой, 2 клон 3-ей, так или иначе. Самое главное преимущество 3-ей - стаж на рынке и большая распространенность со всеми вытекающими.
Typo3 из списка самая надежная, но это скорее cmf, настраивать и устанавливать ее это еще та штука. Нагрузка опять же есть.
Пудрит немного... но и Вы этим заразились видимо:)
А толку-то? Если на половине хостингов запрещен не только шелл как таковой, но и эти команды сами по себе? То что эти программы "не очень" работают на виндовых хостингах мы даже говорить не будем. А думаете от "легкой" жизни появился sypex dumper (с удовольствием им пользуемся), хотя есть "прекрасный mysqldump"? Далеко не везде есть wget, scp и/или возможность ими пользоваться. Так что не стоит называть автоматом фигней все кроме этих 2 программ.
Другой вопрос что php скриптов, достаточно универсальных, для переноса файлов навалом бесплатных и ничуть не хуже.
Мы говорили про нормальных хостеров.
Да уж, лучше бы Вы промолчали, чем в телепатию играть.
За сим разрешаем себе откланяться.
Надеемся сможете воспользоваться советами, если топик Вы для получения оных создали.
Не надо экономить на хостинге. Другого нормального способа проверить картинка ли у Вас - нет.
getimagesize поддерживает gif формат... на нормальных хостерах.
Извините, пропустили.
В таком случае наиболее правильный вариант использовать getimagesize, тогда Вы будете уверены не только в том, что это файл с расширением "картинка", но и он сам является картинкой. А иногда важно и это.
И перед записью файла на диск - сделайте фильтрацию имени в обязательном порядке на недопустимые символы. Русские лучше вообще в транслит перегнать, что бы потом проблем с некоторыми буквами не иметь под юниксом. В идеале - лучше вообще удалить все символы кроме строго допустимых.
Расширение тоже надо проверять, но лучше не той функцией (strrchr) что у Вас в примере, так как она будет проверять только то, что идет после последней точки. Ибо в общем случае, файлы например script.php.mmf вполне могут обрабатываться интерпретатором php (да, мы понимаем что по проверке jpeg это не пройдет, но мы в принципе о возможности двойных расширений - лучше перестраховаться). И даже если файл картинка - ничего хорошего в запуске интерпретатора для нее нету.
Поэтому лучше strchr или опять же - фильтрация имени файла на предмет точек после отброса расширения.
Даже не смешно. Скопируйте свой код в php файл да запустите... может интерпретатору поверите.
Вы до сих пор не предьявили требования к фильтру, за все 2 страницы. Писать фильтр не зная что он должен делать это как минимум странно. Сформулируйте четко что Вы хотите отфильтровать - тогда можно будет четко ответить как это сделать.
В общем Вы уже начитались "достойной" литературы, заранее знаете все ответы, а сюда пришли пофлудить?
Мы дали Вам информацию - сможете - воспользуетесь ей, не сможете - не воспользуетесь.