Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: А как сделать чтобы отображались все файлы в какой то папке со ссылкой на его удаление?
 
 автор: v_q   (23.05.2007 в 00:02)   письмо автору
 
 

А как сделать чтобы отображались все файлы в какой то папке со ссылкой на его удаление?

   
 
 автор: mefestofel   (23.05.2007 в 00:04)   письмо автору
 
   для: v_q   (23.05.2007 в 00:02)
 

пройти в цикле по папке, вывести файлы в таблице со ссылкой на скрипт для удаления файлов...
Написать код?

   
 
 автор: v_q   (23.05.2007 в 02:01)   письмо автору
 
   для: mefestofel   (23.05.2007 в 00:04)
 

Да, пожалуйста.

   
 
 автор: mefestofel   (23.05.2007 в 03:34)   письмо автору
 
   для: v_q   (23.05.2007 в 02:01)
 

В общем это класс, написанный на скорую руку(работает на PHP4-5), с поправками на ночное время - сейчас 3.35:

<?
 
// Класс для работы с файлами
class file_class
{
     var 
$fp ''// дескриптор
     
var $file_name ''//имя файла
     
var $dir ''//дирректория с файламит
     
var $data ''// массив с инфой о файле....
     
var $array_file_list ''//массив с файлами и информацией о файлах...
   // получение информации о файлах из директории $dir
     
function GetFilesFromDir()
   {
    
$dir opendir($this->dir);
    
$ind 0;
    while ((
$file readdir($dir)) !== false)
    {
        if ((
$file !== '.') && ($file !== '..') && ($file !== 'Thumbs.db'))
           {
                 
$this->GetInfoAboutFile($this->dir.$file);
                 
$array_file_list[$ind] = array(
                 
'name' => $file,
                 
'size' => $this->data['filesize'],
                 
'created' => $this->data['fileemtime']
                 );
                 
$ind++;
           }
    }
   
closedir($dir);
   return 
$this->array_file_list $array_file_list;
   }

   
// функция для получения информации о файле
   
function GetInfoAboutFile($file_name)
   {
         if (
file_exists($file_name))
         {
       
$data = array(
          
'filetime' => fileatime($file_name),
          
'filegroup' => filegroup($file_name),
          
'fileemtime' => filemtime($file_name),
          
'fileowner' => fileowner($file_name),
          
'filesize' => filesize($file_name),
          
'is_readable' => var_export(is_readable($file_name), true),
          
'is_writeable' => var_export(is_writeable($file_name), true),
          
'is_uploaded_file' => var_export(is_uploaded_file($file_name), true)
          );
       return 
$this->data $data;
       }
       else
       {
           return 
false;
       }
   }
   
// функция для удаления файла
   
function DelFile()
   {
        if ((isset(
$this->dir)) && ($this->dir != ''))
      {
      
$file_name $this->dir.$this->file_name;
      }
      else
      {
      
$file_name $this->file_name;
      }
        
unlink($file_name);
        return 
true;
   }
}
     
$folder 'images/';   // директория с файлами
     
$files = new file_class;    // создаем объект класса file_class
     
$files->dir $folder;    //   установка директории
     
$files->GetFilesFromDir();   //  вызов метода получения информации о файлах
     
$my_array =  $files->array_file_list;
     for  (
$i=0;$i <= (count($my_array) - 1);$i++)
        {
        print 
$my_array[$i]['name']."<br>";   // имя файла
        
print round($my_array[$i]['size']/1024)." Kb<br>";  // размер
        
print date('d-m-Y',$my_array[$i]['created'])."<br>";  // дата создания
        
print "<a href=\"files.php?fname=".$my_array[$i]['name']."\">Удалить файл</a><br><br>";

        
// можете вывести в таблице...
        
}
?>

Т.К. написано на скорую руку, то некоторое надо подправить, кое - что добавить, но при этом все работает, да и чтобы совсем не оказвать 'медвежью услугу', я Вам оставил для рзмышления - удаление файлов, благо фкнкция в классе написана... ;-)
Класс выводит также доп.информацию по файлам, модифицируйте на свой вкус....
Жду пример удаления файла...

   
 
 автор: Trianon   (23.05.2007 в 10:35)   письмо автору
 
   для: mefestofel   (23.05.2007 в 03:34)
 

За что так обидели Thumbs.db ?
Может это не файл, а рессора от трактора "Беларусь"?

   
 
 автор: mefestofel   (23.05.2007 в 12:13)   письмо автору
 
   для: Trianon   (23.05.2007 в 10:35)
 

> Thumbs.db
Чтобы эта рессора не мешала ездить скрипту под Windows...

   
 
 автор: Trianon   (23.05.2007 в 13:11)   письмо автору
 
   для: mefestofel   (23.05.2007 в 12:13)
 

Пользователь не сможет удалить этот файл этим скриптом, если захочет.
Как следствие - потом не сможет удалить сам каталог.
Где логика?

   
 
 автор: mefestofel   (23.05.2007 в 13:50)   письмо автору
 
   для: Trianon   (23.05.2007 в 13:11)
 

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования