У меня работает и вариант из поста №2 (сортирует по 5-му с конца символу), и особенно хорошо работает второй вариант из поста №4 (вообще отсутствуют какие-либо признаки сортировки).
Если у вас не работает, значит в вашем коде, скорее всего, после "хитрой" сортировки есть ещё какие-то действия с этим массивом. Попробуйте мой код сохранить в отдельный файл и вы убедитесь, что всё работает.
Значит я вас всё-таки правильно понял, и тогда код из поста №2 должен работать :)
А index.htm точно есть в этой директории?
Посмотрите в error_log где он чего не может найти.
Не добавить, а добавитЪ. Код этот добавитЪ "index.htm" ко всем урлам, заканчивающимся на "/" :)
А… я не совсем понял задачу. Мой скриптик сортирует массив по 5-му символу с конца строки :)
В вашем случае оптимальным будет сначала загнать все символы в массив, где они будут ключами к именам файлов, а потом этот массив отсортировать по ключам.
Примерно так
foreach ($galereyafile as $filename) { $f=fopen($filename,'r'); fseek($f,-5,SEEK_END); $k=fread($f,1); fclose($f); $galereyafile2[$k]=$filename; } ksort($galereyafile2); print_r($galereyafile2);
Тут предполагается, что вы самостоятельно сделаете обработку ошибок, и что не будет двух файлов с одинаковым 5-м символом с конца :) ---------- Добавлено 13.02.2012 в 23:16 ---------- А вообще, если задача отсортировать массив каждый раз одинаково хаотично, то проще не мучить файловую систему, а работать таки с именами файлов.
Примерно так:
foreach ($galereyafile as $filename) { $galereyafile2[md5($filename)]=$filename; } ksort($galereyafile2); print_r($galereyafile2);
Вместо md5, конечно же, можно (и даже лучше) использовать какую-либо более простую функцию.
function cmp($a, $b) { $a=substr($a,-5,1); $b=substr($b,-5,1); if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1;}usort($galereyafile,"cmp");
RewriteEngine on
RewriteCond %{THE_REQUEST} /\ HTTP/
RewriteRule ^(.*)$ $1index.htm [R=301,L]
Добавит "index.html" ко всем урлам, заканчивающимся просто на /
Обычно ни где не разрешают время увеличивать.
Иначе будут устраивать безобразие :)
Это что за зверьки, если не секрет? :)
RewriteCond %{THE_REQUEST} \.htm\ HTTP/
RewriteRule ^(.+)\.htm$ /$1 [R=301,L] # Эти штуки отрежут '.htm' во всех урлах
RewriteCond %{REQUEST_URI} !(\.htm)$
RewriteRule ^(.+)$ $1.htm [L] # Эти штуки среврайтят урлы без '.htm' на соответствующие файлики
А если напишут, например, вот так +З8(ОI2)ЗЧ5678ɘ ?
Или словами?