# MrDreamer (01.03.2015 / 19:06)
такая проблема:
у меня на сайте стоит двиг JohnCMS 5.0.0,а с менеджера не приходят смс типа о подтверждении матча,что дел?
В твоем мен сделан почту 4.х.х надо users/prad.php и код в шапку
Не могу додумать =(
Есть файл главной стр.сайта "index.php", разбитый на ссылки вида "<a href="?plans=kids">Занятия с малышами</a>" и т.д..
К этому файлу инклудится файл "function.php", внутри которого находится переключатель "switch()", обрабатывающий
ссылки с главной страницы "index.php". При переходе(например) по ссылке site.ru/?plans=kids выполняется блок кода
оператора "case 'kids':", а именно:
1.Сканируем директорию
(колл-во файлов не ограничено)
2.Записываем содержимое всех файлов в массив
(записываем именно содержимое файлов,а не их имена)
3.Получаем ссылки на записанные в массив файлы для
их отображения на странице
Если ключи в массивах $dir[] и $arr_get[] указать явно(см.листинг), то код работает.
И вот собственно в чём вопрос: как НЕ явно указать путь к тому или иному файлу?
(напоминаю: колл-во файлов в сканируемой папке не ограничено)
index.php
<? include_once('function.php') ?>
<a href="?plans=kids">Занятия с малышами</a>
<a href="?plans=intl">Начальный уровень</a>
<a href="?plans=avrl">Средний уровень</a>
<a href="?plans=advl">Продвинутый уровень</a>
<a href="?plans=school">Школьная программа</a>
<?=$content?>
function.php
if ($_GET['plans'])$switch=$_GET['plans'];
switch($switch){
//Планы уроков
case 'kids':
$content='<h3>Занятия с малышами</h3>';
//Сканируем директорию
$dir=scandir($_SERVER['DOCUMENT_ROOT'].'/lesson_plans');
//Считаем колличество файлов
$all=sizeof($dir);
for($i=0; $i<$all; $i++){
//Фильтруем файлы
if($dir[$i]=='..'||$dir[$i]=='.'||is_dir($dir[$i])||$dir[$i]=='.htaccess') continue;
//Записываем содержимое всех файлов в массив
$arr_get[].=file_get_contents('http://'.$_SERVER['SERVER_NAME'].'/lesson_plans/'.$dir[$i]).'<br />';
//Получаем ссылки на файлы в массивах
$content.='<a href="http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'&'.$dir[$i].'">'.$dir[$i].'</a><br />';
}
//Если в GET-запросе сожержится имя файла
if ($_SERVER['QUERY_STRING']=='plans=kids&'.$dir[3]){ // Ключ "3"
$content='<h3>Занятия с малышами</h3>';
//Выводим в поток содержимое файла
$content.=nl2br($arr_get[1]); // Ключ "1"
$content.='<hr />«««<a href="'.$_SERVER['HTTP_REFERER'].'"> Назад</a><br />';
}
$content.='<a href="index.php">На главную</a>';
break;
ДоХтор, наворотил ты конечно, смысл я так и не понял, что нужно чтоб получалось в итоге
# Koenig (03.03.2015 / 18:54)
ДоХтор, наворотил ты конечно, смысл я так и не понял, что нужно чтоб получалось в итоге
В итоге при клике по ссылке с именем файла должно в браузер загружаться его содержимое (текст). Если добавить новый текстфайл в папку /lesson_plans/, то при обновлении страницы должо отобразиться его имя в списке файлов(в виде ссылки), а при клике по ней - отобразиться его содержимое.
ДоХтор, сейчас наколдую, просто не логично все тексты в массиве держать
# Koenig (03.03.2015 / 19:27)
ДоХтор, сейчас наколдую, просто не логично все тексты в массиве держать
Согласен - не логично, и расточительно в плане оперативной памяти, ведь если в папке с файлами будет лежать 1000 файлов, то текст каждого файла будет загружен в массив. Но я иначе не смог решить эту задачу.
ДоХтор, сам там поменяешь
Как увеличить качество превью картинки в галереи?
Ребят у кого нибудь джон стоит на keo.su?
Как он там работает?