У Вас есть один вопрос? - Тогда задайте его тут! new!

Тема закрыта
85.55K
.
# 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 />&laquo;&laquo;&laquo;<a href="'.$_SERVER['HTTP_REFERER'].'"> Назад</a><br />';
      }
      $content.='<a href="index.php">На главную</a>';
      break;
.
(\/)____o_O____(\/)
ДоХтор, наворотил ты конечно, смысл я так и не понял, что нужно чтоб получалось в итоге
.
# Koenig (03.03.2015 / 18:54)
ДоХтор, наворотил ты конечно, смысл я так и не понял, что нужно чтоб получалось в итоге
В итоге при клике по ссылке с именем файла должно в браузер загружаться его содержимое (текст). Если добавить новый текстфайл в папку /lesson_plans/, то при обновлении страницы должо отобразиться его имя в списке файлов(в виде ссылки), а при клике по ней - отобразиться его содержимое.
.
(\/)____o_O____(\/)
ДоХтор, сейчас наколдую, просто не логично все тексты в массиве держать
.
# Koenig (03.03.2015 / 19:27)
ДоХтор, сейчас наколдую, просто не логично все тексты в массиве держать
Согласен - не логично, и расточительно в плане оперативной памяти, ведь если в папке с файлами будет лежать 1000 файлов, то текст каждого файла будет загружен в массив. Но я иначе не смог решить эту задачу.
.
(\/)____o_O____(\/)
ДоХтор, сам там поменяешь
Прикрепленные файлы:
.
# Koenig (03.03.2015 / 21:04)
ДоХтор, сам там поменяешь
Спасибо :-)
.
Как увеличить качество превью картинки в галереи?
.
Ребят у кого нибудь джон стоит на keo.su?
Как он там работает?
Всего: 6714