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

Форум PHP

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

 

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

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

тема: Файлы в директории
 
 автор: zavragnov   (24.10.2005 в 14:17)   письмо автору
 
 

Добрый день!

Имеются txt файлы в директории, колличество файлов в директории не известно. Структура этих файлов


заголовок|информация


в файлах всего одна строка.

Есть вот такой скрипт он выводит заголовки файлов.


<?php  
 $basedir
="./base";
$dir opendir ("$basedir");
  while ( 
$selfile readdir ($dir))
  {
    if (( 
$selfile != ".") && ($selfile != ".."))
    {
    {
     
$str_array file($selfile); 
     
// Обходим массив в цикле 
     
foreach($str_array as $line
           { 
         list(
$msg$cont) = explode("|",$line); 
              } 
    
    }
         echo 
"<a href=$selfile>$msg<br>";

    }
  }
  
closedir ($dir);
?>




Вопрос, а как вывести в браузер только "инвормацию". Сейчас при клике на ссылку выводиться содержимое всего файла и мене нужно вывести то что стоит после разделителя "|".

   
 
 автор: DDK   (24.10.2005 в 15:57)   письмо автору
 
   для: zavragnov   (24.10.2005 в 14:17)
 


<?php 
$basedir
="./base/"
$dir opendir ("$basedir"); 
while ( 
$selfile readdir ($dir)) { 
    if (( 
$selfile != ".") && ($selfile != "..")) { 
        
$cont file($basedir.$selfile);
        
$cont[0] = str_replace("\r\n"""$cont[0]);
        
$cont explode("|"$cont[0]);
        echo 
"<a href=$selfile>$cont[1]<br>"
    } 

closedir ($dir); 
?> 


Один момент - ссылка на файл (<a href=$selfile>$cont[1]<br>) должна содержать путь вместе с папкой или нет ? Если да, то эту строку стоит заменить на <a href=$basedir$selfile>$cont[1]<br>.

   
 
 автор: zavragnov   (24.10.2005 в 16:25)   письмо автору
 
   для: DDK   (24.10.2005 в 15:57)
 

Может я не правильно обьясняю. Я хочу чтобы приклике на ссылку в браузер выдавалось содержимое $cont


<a href=$selfile>$msg<br>


Текст ссылки брался из переменной $msg, а при клике выводилось содержимое переменной $cont, а не весь файл

Точнее как мне прикрутить переменную $cont к ссылке?

PS
Пробовал через скрытое поле, получилось, но такие страницы не проиндесируются

   
 
 автор: DDK   (24.10.2005 в 17:32)   письмо автору
 
   для: zavragnov   (24.10.2005 в 16:25)
 

Тогда вам нужно создать второй скрипт (show.php) такого содержания:

<?
$basedir
="./base/"
if(isset(
$_GET['selfile'])) {
    
$filename $basedir.$_GET['selfile'];
    if(
file_exists($filename)) {
        
$cont file($filename); 
        
$cont[0] = str_replace("\r\n"""$cont[0]); 
        list(
$msg$cont) = explode("|"$cont[0]); 
        echo 
"$cont<br>";
    }
}
?> 


А первый скрипт (select.php) изменить так:

<? 
$basedir
="./base/"
$dir opendir ("$basedir"); 
while ( 
$selfile readdir ($dir)) { 
    if (( 
$selfile != ".") && ($selfile != "..")) { 
        
$cont file($basedir.$selfile); 
        
$cont[0] = str_replace("\r\n"""$cont[0]); 
        list(
$msg$cont) = explode("|"$cont[0]); 
        echo 
"<a href='show.php?selfile=$selfile'>$msg</a><br>"
    } 

closedir ($dir);
?> 

Я что-то не понял, что вы имели ввиду, сказав про индексирование... задавайте вопрос точнее.

   
 
 автор: zavragnov   (24.10.2005 в 17:47)   письмо автору
 
   для: DDK   (24.10.2005 в 17:32)
 

Спасибо все работает

>Я что-то не понял, что вы имели ввиду, сказав про
>индексирование... задавайте вопрос точнее.

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

   
Rambler's Top100
вверх

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