Работа с файлами (PHP)

Старый mweb

Модератор: [mweb team]

Работа с файлами (PHP)

Сообщение ORC Сб мар 15, 2008 0:59

Помогите создать PHP скрипт.
В общем задача такая . Есть папка с кучей файлов.
Необходимо сгенерировать html код для каждого файла такого вида:

<a href=имя_файла><img src=имя_файла+gif(обрезать его настоящее расширение и присобачить расширение gif)></a><br>

я догадываюсь что это делается циклом. :-)
------------------------------------------------
http://www.pixelbox.ru - все для фотошопа
Аватара пользователя
ORC
Прохожий
 
Сообщения: 82
Зарегистрирован: Пт апр 04, 2003 16:58
Откуда: Волгоград

Сообщение Skay Сб мар 15, 2008 1:11

кто же за тебя будет программы писать, пиши сам, а если будут ошибки, тебе помогут...
money + sleep = awesome
Аватара пользователя
Skay
Хронический Астматик
 
Сообщения: 1373
Зарегистрирован: Вс мар 10, 2002 1:01

Сообщение Padonak Сб мар 15, 2008 1:42

echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>::Fuckin shit::</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">
</head>
<body>
";

$dir = opendir(".");

while(($file = readdir($dir)) !== false){
if(substr("$file", -3) == "tml"){$fname = substr("$file", 0, -5);}
else{
$fname = substr("$file", 0, -4);
echo "
<a href=\"$file\"><img src=\"$fname.gif\" alt=\"\"></a>\n<br>";
}
}

closedir($dir);

echo "
</body>
</html>";

во бля я на пхп сачинилл! -13-
тут правда не учитываюцо расширения из 2 букв вобщем если уж совсем захотеть то надо конечно использовать регулярное выражение для отделения имени файла от его расширения... а чо ты там экзешнегов с вирусаме выложил кучу и хочешь их типакаг кортинге преподнести?
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Jedi Сб мар 15, 2008 3:22

вот есть какая-то функция в пхп, которая определяет расширение файла. но не помню её. и найти в документации не могу (((

поэтому для определения расширения использую функцию pathinfo

$ex = pathinfo($filename);
echo $ex[extension];

http://ru2.php.net/manual/ru/function.pathinfo.php
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение ORC Сб мар 15, 2008 14:29

Да это папка со шрифтами и иллюстрации к ним...

Всё отлично работает. Но есть проблемка:

скрипт выводит три не нужных элемента - данный файл, каталог и предыдущий каталог а потом только файлы. Как от этого избавится? нужно чтобы только файлы выводились

и хотел спросить что делает эта строчка:

if(substr("$file", -3) == "tml"){$fname = substr("$file", 0, -5);}
------------------------------------------------
http://www.pixelbox.ru - все для фотошопа
Аватара пользователя
ORC
Прохожий
 
Сообщения: 82
Зарегистрирован: Пт апр 04, 2003 16:58
Откуда: Волгоград

Сообщение ORC Сб мар 15, 2008 14:34

А хотя это не обязательно.. можно просто выдернуть сгенерированный хтмл(и удалить не нужную хрень) и пользоватся
------------------------------------------------
http://www.pixelbox.ru - все для фотошопа
Аватара пользователя
ORC
Прохожий
 
Сообщения: 82
Зарегистрирован: Пт апр 04, 2003 16:58
Откуда: Волгоград

Сообщение ORC Сб мар 15, 2008 14:36

Padonak писал(а): а чо ты там экзешнегов с вирусаме выложил кучу и хочешь их типакаг кортинге преподнести?


-13-
------------------------------------------------
http://www.pixelbox.ru - все для фотошопа
Аватара пользователя
ORC
Прохожий
 
Сообщения: 82
Зарегистрирован: Пт апр 04, 2003 16:58
Откуда: Волгоград

Сообщение Padonak Сб мар 15, 2008 20:14

ORC писал(а):Да это папка со шрифтами и иллюстрации к ним...

Всё отлично работает. Но есть проблемка:

скрипт выводит три не нужных элемента - данный файл, каталог и предыдущий каталог а потом только файлы. Как от этого избавится? нужно чтобы только файлы выводились

и хотел спросить что делает эта строчка:

if(substr("$file", -3) == "tml"){$fname = substr("$file", 0, -5);}


я ж не знал какие типы файлов у тебя там лежат... расширение может быть и из 2 и из 4 букв(script.js, page.html) поэтому чтобы всегда корректно отделить имя файла лучше разумеецо было бы использовать регулярное выражение..

не выводить имена каталога и проч. надо добавить вот такую херь:

if($file == "." || $file == ".."){continue;}
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Alkeeper Сб мар 15, 2008 22:39

А еще можно отловить последнее вхождение символа в строке (точки в имени файла) -06-
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Padonak Вс мар 16, 2008 2:54

2ORC: меня вот этот аднаглазэй плюс еще парочка мерзавцев иже с ним заставили понять что надо хоть немного ориентировацо в пхп. у них в голове вместо масгофф установлен интерпретатор пхп и они очень страшные люде с явныме признакаме олкогализма но такие умныйе сцуко что я даже пра вотку им не очень часто напоминайу -02- рекомендую их в качестве советчиков потомукаг я в пхп как свинья в апельинах -03-
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Muerto Вс мар 16, 2008 16:07

2Jedi: echo fncGetFileExtension(__FILE__);
P.-S. Сорри, неделя под эгидой алкоголизма. Временно исчезаю. Всех с днем св. Патрика. -22-
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Padonak Вс мар 16, 2008 16:39

Muerto писал(а):...неделя под эгидой алкоголизма...


-12- -12- -12-

Изображение
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение ORC Вс мар 16, 2008 17:14

Короче внедрил я эту систему на сайт и даже насосавшись вчера пивка прикалупал постраничный вывод с нужным мне кол-вом файлов на страницу.
заценить можно тут www.rupixel.com/fonts.php
------------------------------------------------
http://www.pixelbox.ru - все для фотошопа
Аватара пользователя
ORC
Прохожий
 
Сообщения: 82
Зарегистрирован: Пт апр 04, 2003 16:58
Откуда: Волгоград

Сообщение Padonak Вс мар 16, 2008 18:03

2ORC: сделай немного поменьше картинки шрифтов а то блин гадзилы какие-то
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение ORC Вс мар 16, 2008 19:39

Я делал это фотошопом с помощью автоматизации( action записал ) но он собака в именах файлов перезаписывает пробелы на "-". То бишь был "Arial Cyr.gif" а стал "Arial-Cyr". Из за этого все рушится...
------------------------------------------------
http://www.pixelbox.ru - все для фотошопа
Аватара пользователя
ORC
Прохожий
 
Сообщения: 82
Зарегистрирован: Пт апр 04, 2003 16:58
Откуда: Волгоград

Сообщение Padonak Вс мар 16, 2008 22:22

2ORC: ничо не понял... я с фотошопом не сильна знакомм. в чом трабл-то? по поводу пробелов - например в ссылках это полный ахтунк так что пробелы там не надо тебе иметь. объясни короче нормально в чом суть касика
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение ORC Сб мар 22, 2008 9:11

всё касика больше нет... разобралси.
спасибо за помощь! -14-
------------------------------------------------
http://www.pixelbox.ru - все для фотошопа
Аватара пользователя
ORC
Прохожий
 
Сообщения: 82
Зарегистрирован: Пт апр 04, 2003 16:58
Откуда: Волгоград

Сообщение Padonak Сб мар 22, 2008 10:26

ну и ладно тогда.
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron