Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема в создании ссылок.
Форумы портала PHP.SU » » Вопросы новичков » Проблема в создании ссылок.

Страниц (1): [1]
 

1. span4ez - 09 Августа, 2013 - 14:06:45 - перейти к сообщению
Уважаемые Гуру PHP. Требуется Ваша помощь. Не как не могу сделать чтобы генерировалась ссылка в данном коде.

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4. $dir = "D:/server/OpenServer/domains/localhost";  
  5.  
  6. function getExtension($filename) {
  7.          $string = strpos($filename, ".");
  8.          if($string == NULL){
  9.                 $string = $filename;
  10.          }else{
  11.                 if(end(explode(".", $filename)) == "htm"){
  12.                         $string = $filename;
  13.                 }else{
  14.                         $string = 0;
  15.                 }
  16.                
  17.          }
  18.          return $string;
  19. }
  20.  
  21. function showdir($dir) {
  22.     $list = scandir($dir);
  23.     if (is_array($list)) {
  24.         $list = array_values(array_diff($list, array('.', '..','.htaccess')));
  25.         if ($list) {
  26.             echo '<ul>';
  27.             foreach ($list as $name) {
  28.                                 if(getExtension($name)){
  29.                 $path = $dir . '/' . $name;
  30.                 $is_dir = is_dir($path);
  31.                 echo '<li><a href="/'.$name.'">'. htmlspecialchars($name). '</a>';
  32.                 if ($is_dir){
  33.                     showdir($path);
  34.                                 }
  35.  
  36.                 echo '</li>';
  37.                                 }
  38.             }
  39.             echo '</ul>';
  40.         }
  41.     }
  42.     else {
  43.         echo '<i>не могу прочитать</i>';
  44.     }
  45. }
  46.  
  47. showdir($dir);
  48. ?>
  49.  


Не могу сделать чтобы ссылка получалась на файл который лежит в каталоге.
Заранее Спасибо.
2. Наливай - 09 Августа, 2013 - 22:55:09 - перейти к сообщению
Можете пояснить, что имеем на входе, и что хотите получить
(Добавление)
как вариант исполльзвать следующий код:
PHP:
скопировать код в буфер обмена
  1. $hrefToFile = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$fileDir.DIRECTORY_SEPARATOR.$fileName.'.html';

Тобишь:
http:// - протокол
$_SERVER['HTTP_HOST'] - домен
$_SERVER['REQUEST_URI'] - текущее положение(можно опустить)
DIRECTORY_SEPARATOR - разделитель '/' или '\' в зависимости от ОС
$fileName - имя файла
.html - расширение

 

Powered by ExBB FM 1.0 RC1