Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > список файлов из папки


Автор: Black_Joker 21.9.2016, 12:18
Здравствуйте

работаю админом в конторе. поручили сделать сайт  smile 
ХТМЛ почитал, кой чего навалял.
задача такая: бухгалтерия раз в месяц обновляет файлы с отчетами. 
я эти файлы выгружаю на ФТП сервер. допустим по пути 
Scheta / 2015
Scheta / 2016
Scheta / 2017

мне нужно, чтобы на страницу были показаны все файлы из папки
Scheta / 2016
с возможностью скачать их (ссылки на файлы)
имена файлов русские

расскажите, что нужно написать в файле .PHP и что в файле .shtml

долго гуглил, не помогло. ни чего не работает.
 smile  smile  smile 

P.S. в ПХП не разбираюсь вообще. про переменные пробовал читать - не помогло

Автор: _zorn_ 21.9.2016, 13:43
Ищите того кто за вас сделает.
А по названию темы я хотел предложить http://php.net/manual/ru/function.glob.php но вам скорей всего не поможет.

Автор: Black_Joker 21.9.2016, 14:06
читал по этой ссылке
нашел несколько готовых решений. ни чего не получилось.
максимум - выводит кусок ПХП-скрипта

Автор: whatisnot 22.9.2016, 13:36
Цитата(Black_Joker @  21.9.2016,  14:06 Найти цитируемый пост)
выводит кусок ПХП-скрипта 


Кусок РНР скрипта будет в том случае, если нет самого РНР, либо файл (тип его) к которому происходит обращение не указан как исполняемый, то есть в нем не будет исполняться РНР код.

Автор: Black_Joker 23.9.2016, 16:57
расскажите, что нужно написать в файле .PHP и что в файле .shtml

Автор: whatisnot 23.9.2016, 17:47
В файлах ничего не пишется, а создается в корне документов сайта файл .htaccess (именно так, начиная с точки и без расширения), в котором указать расширения интерпретируемые как исполняемые:

AddHandler application/x-httpd-php .php .shtml 

 

Автор: Black_Joker 26.9.2016, 13:16
создал файл и пропала шапка, вставленная "инклюдом"

я нашел образец формы обратной связи и вставил на сайт - все работало и без этого файла 

Автор: whatisnot 26.9.2016, 22:56
Цитата(Black_Joker @  26.9.2016,  13:16 Найти цитируемый пост)
я нашел образец формы обратной связи и вставил на сайт



Не понимая того что у вас там творится, вы несете ахинею, если рассматривать "решение проблемы" в контексте ранее изложенного.

Автор: Black_Joker 13.10.2016, 18:45
немного продвинулся.
файлы из указаной папки на сервере выводит
возникла другая проблема:
на ФТП имена файлов в UTF-8, а страница у меня написана  кодировке windows-1251
так же в именах есть точки, проелы и прочая разрешенная фигня (бухгалтерия не понимает, почему имена должны быть на латинице)

при попытке загрузить файл с именем в русской кодировке - не находит файл
файлы с именами на латинице загружает нормально



P.S. whatisnot  прошу не отвечать на мои вопросы. т.к. пользы ни малейшей

Автор: whatisnot 14.10.2016, 03:45
Цитата(Black_Joker @  13.10.2016,  18:45 Найти цитируемый пост)
на ФТП имена файлов в UTF-8, а страница у меня написана  кодировке windows-1251



На винегрет похоже. Грузить файлы от клиента нужно не посредством FTP, а обычной формой сохраняя их оригинальные имена, которые могут быть хоть на китайском, но только не в рамках CP1251 конечно, в базе. При этом эти имена и соответствующие им файлы могут связываться по ID записей. Отдавать файлы не прямой ссылкой, а скриптом - запрос по ID записи, а отдача под оригинальным именем. 

Автор: Black_Joker 17.10.2016, 09:25
вопрос закрыт. раз(обр)(долб)ался сам.

предыстория: хоситнгом занимался не я, а предыдущий приходящий админ. на хостинге уже висит 3 сайта. мой 4 будет. там все оказалось настроено.

1. сделал в меню ссылку не на *.shtml , а на *.php
просто поменял расширение и вставил код

2. сделал, чтоб страница была написана в кодировке Виндовс, а файлы нормально воспринимались (загружались на сервер и получились ссылки) в кодировке UTF-8

Код

<?php
$dir   = '__моя папка на сервере_';
$files = scandir($dir);
echo '<ol>';
foreach ($files as $value1)
{
$value = iconv("utf-8","cp1251",$value1);
if ($value !='.' and $value !='..' ) 
{echo '<li><a href="/'.$dir.'/'.$value.'" target="_blank">'.$value.'</a></li><br>';}
else{}
}
echo '</ol>';
?>

Автор: whatisnot 17.10.2016, 10:29
Цитата(Black_Joker @  17.10.2016,  09:25 Найти цитируемый пост)
загружались на сервер и получились ссылки


А гарантия того, что каждый загружаемый файл имеет уникальное имя есть? А тем более, если они все свалены в '__моя папка на сервере_'.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)