Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » помогите со скриптом

Ответить
Настройки темы
помогите со скриптом

Аватара для slaine

Ветеран


Сообщения: 675
Благодарности: 8


Конфигурация

Профиль | Отправить PM | Цитировать


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

PHP код: Выделить весь код

if (isset($_POST['text']) && isset($_POST['fileid'])){
 
$text $_POST['text']; 
 
$ide $_POST['fileid'];
 
$fl fopen($ide"w");
 
flock($fl2);
 
fwrite($fl$text);
 
flock($fl3);
 
fclose($fl);
 }
 
$dir opendir(".");
    while (
$file readdir($dir)){
 if ((
$file != ".") && ($file != "..")  && ($file != "ass.php")){
 
$dirlist[] = $file
 }
 }
 
closedir($dir);
 echo 
"<table border=1 width=100%>
  <colgroup valign=top>
  <tr>
  <td width=200>"

 foreach (
$dirlist as $val){   
 echo (
"<a href=ass.php?id=$val>$val</a><BR>");
 }
 echo 
"</td>
  <td align=center>"
;
 if (!empty(
$id)){
 if (!
file_exists($id)){
 exit();
 }
 } 
 if (!empty(
$_GET['id'])){
 if (
eregi("(.php|.txt|.html|.htm)$", @$id)){
 
$data file_get_contents($id);
 } elseif (
eregi("(.jpg|.gif|.png)$", @$id)){
 echo 
"<img src=".$id." border=0>";
 exit();
 }
 }
 echo 
"<form action=ass.php method=post>
  <input type='hidden' value="
.@$id." name=fileid>
  <textarea cols=68 rows=25 name=text>"
.@$data."</textarea><BR>
  <input type='submit'></td>
  </tr</table>
  </form>"


-------
живодёр - практик


Отправлено: 19:54, 31-08-2005

 

Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


chdir() не поможет?...
изменяет рабочую директорию...

Отправлено: 20:21, 31-08-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


slaine
А вы делайте в случае папки не прямую ссылку на файл (естественно это не будет работать), а ссылку скрипту, который будет доставать из этой ссылки папку, которую надо показать, типа script.php?dir=mydir, то есть принажатии на эту ссылку скрипт будет перезагружаться и открывать данную папку (то есть показывать все файлы в данной папке), если dir не определена, то есть не была передана скрипту, то открывается стандартная папка

-------
Fortes fortuna adiuvat


Отправлено: 23:11, 31-08-2005 | #3


Аватара для slaine

Ветеран


Сообщения: 675
Благодарности: 8

Профиль | Отправить PM | Цитировать


Вот сделала.
А, как мне теперь проходить во вторую третью директорию, открывать файлы в дргих папках ведб ссылка будет оставаться такой script.php?dir=mydir?
PHP код: Выделить весь код

function ss($path){

    
$dir opendir($path);
       while (
$file readdir($dir)){
    if ((
$file != "..") && ($file != "aaa.php")){
    
$dirlist[] = $file
    }
    }
    
closedir($dir);
    foreach (
$dirlist as $val){      
    echo (
"<a href=aaa.php?id=$val>$val</a><BR>");
    }
    }
    
$s 0;
    if (!empty(
$_GET['id'])){
    if (
is_file($id)){
    
$data highlight_file($id);
    echo 
$data."<BR>";
    } 
    if (
is_dir($id)){
    
$s 1;
    
ss($id);
    }
    }
    if (
$s == 0){
    
ss(".");
    } 

-------
живодёр - практик


Отправлено: 17:31, 20-09-2005 | #4


Аватара для elfoflorien

Старожил


Сообщения: 158
Благодарности: 1

Профиль | Отправить PM | Цитировать


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

-------
panem et circences! (c)


Отправлено: 21:29, 20-09-2005 | #5


Аватара для elfoflorien

Старожил


Сообщения: 158
Благодарности: 1

Профиль | Отправить PM | Цитировать


slaine
во-первых, ответь на PM
во-вторых, чтобы все заработало, у тебя в переменной $id должен быть полный путь к директорию, потому что chdir() изменяет текущий каталог, но не значение переменной пути,
и третье, просто личный совет: для простоты и удобства раздели файлы и каталоги по разным массивам:

PHP код: Выделить весь код

function CreateContentsArrays$id )

{
    
$files= Array();
    
$dirs= Array();
    
$fullpath$fpath '/';
    
$mydirDir$id );
    
$mydir->rewind();
    for( 
$mydir->rewind(); $entry$mydir->read(); )
    {
        if( 
$entry == '.' || $entry == '..' ) continue;
        
$item$fullpath $entry;
        if( 
is_dir$item ))
            
$dirs[]= $item;
        else
            
$files[]= $item;
    }
    if( 
count$dirs ) == && count$files ) == ) return false;
    return( Array( 
$dirs$files ));


не знаю, как можно оптимизировать это в PHP5, но в PHP4 все работало нормально

дальше, касательно содержимого файлов: желательно, на мой взгляд, скрипт, выводящий содержимой файла перенести в отдельный файл, и программа должна, соответственно реагировать на каталог и файл по-разному; при щелчке на каталог должен открыться $PHP_SELF, с параметром id=текущий каталог/дочерний каталог
например:

PHP код: Выделить весь код

list( $dirs$files )= CreateContentsArrays$id );

if( 
count$dirs ) > )
{
    foreach( 
$dirs as $dir )
    {
        print 
"<a href=\"$PHP_SELF?id=$dir\">" basename$dir ) . "</a><br>";
    }
    print 
"<br><hr><br>\n";
}
if( 
count$files ) > )
{
    foreach( 
$files as $file )
    {
        print 
"<a href=\"showfile.php?id=$file\>" basename$file ) . "</a><br>";
    }
    print 
"<br><hr><br>\n";


примерно вот так вот... если что не так, сообщайте, укажите на ошибку;
может быть, что-то можно оптимизировать под PHP5?

-------
panem et circences! (c)


Отправлено: 22:33, 21-09-2005 | #6



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » помогите со скриптом

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Помогите со скриптом Atom1 Скриптовые языки администрирования Windows 1 22-10-2008 07:55
Помогите со скриптом BigDim Microsoft Windows NT/2000/2003 2 04-07-2008 04:18
Помогите со скриптом msaus Вебмастеру 7 14-08-2006 17:57
Помогите со скриптом boneheap Вебмастеру 1 01-11-2004 22:20
Помогите со скриптом hudognik86 Вебмастеру 9 10-05-2004 03:06




 
Переход