Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Реализовать скрипт на php (https://forum.antichat.xyz/showthread.php?t=190346)

Wakko 25.03.2010 23:47

Реализовать скрипт на php
 
Имеется папка news, в ней лежат файлы вида 1.txt 2.txt 3.txt ...... n.txt, в кажом файле записана новость.
рядом с папкой news лежит файл info.txt в нем расположены названия этих файлов, в таком виде:

1|новость номер один
2|новость номер два
3|новость номер три
....
....
....
n|название новости


подскажете как реализовать на php, чтобы бралось содержимое файла 1.txt , в файле info.txt искалось его название и выводилось циклом так $str_1 = название. $str_2 = содержание.

Подскажите пожалуйста, могу немножко отблагодорить деньгами и плюсом.

dr.Web 26.03.2010 00:39

а не легче в файле сразу это всё написать???например в нулевой строке

стукни мне в асю 6465777 помогу чем смогу.

Deathdreams 26.03.2010 00:43

ТС не ищет лёгких путей.

m0Hze 26.03.2010 00:45

Цитата:

Сообщение от Wakko
Имеется папка news, в ней лежат файлы вида 1.txt 2.txt 3.txt ...... n.txt, в кажом файле записана новость.
рядом с папкой news лежит файл info.txt в нем расположены названия этих файлов, в таком виде:

1|новость номер один
2|новость номер два
3|новость номер три
....
....
....
n|название новости


подскажете как реализовать на php, чтобы бралось содержимое файла 1.txt , в файле info.txt искалось его название и выводилось циклом так $str_1 = название. $str_2 = содержание.

Подскажите пожалуйста, могу немножко отблагодорить деньгами и плюсом.

Что то вроде:
PHP код:

<?php
$announces 
file('info.txt');
foreach (
$announces as $annonce) {
    list(
$filename$title) = explode('|'$annonce);
    
$filename trim($filename);
    if(
$filename == $_GET['id']){
        if(
file_exists('./news/'.$filename.'.txt')){
            
$title trim($title);
            
$news file_get_contents('./news/'.$filename.'.txt');
            
// тут вывод новости, ну или дальнейшая работа с текстом.
        
}else{
            echo 
'Текст новости отсутствует!';
        }
    }else{
        echo 
'Новость с таким ID не существует!';
    }
}
?>

Но не проверял, не запускается аппач.

Omegа 26.03.2010 00:54

Код:

<?php
        $dirs = glob('news/*');
        foreach($dirs as $filename) {
                preg_match("~^.*/([0-9]+)\.txt$~", $filename, $res);
                $files[$res[1]] = $res[0];
        }
        $news = file('info.txt');
        foreach($news as $newsname) {
                list($num,$str_1)=explode('|',$newsname);
                $str_2 = file_get_contents($files[$num]);
                echo '<h2>'.$str_1.'</h2>'.$str_2.'<hr/>'; //пример
        }
?>


mailbrush 26.03.2010 00:55

ТС, держи, вот написал:
PHP код:

<?php

$infoName 
'info.txt'//файл с инфо
$dirName 'news'//папка с новостями

$fHandle file($infoName);
foreach(
$fHandle as $fString)
{
    
$tempArray explode('|'trim($fString"\r\n"));
    
$fArray[$tempArray[1]] = $tempArray[0];
}

if (
$handle opendir($dirName))
{
    while (
false !== ($file readdir($handle)))
    {
        if (
$file != "." && $file != "..")
        {
            
$id explode('.'$file);
            echo 
$id[0] . '|' array_search($id[0], $fArray) . "\r\n";
        }
    }
    
closedir($handle);
}

?>

Дам тебе совет - в качестве БД используй MySQL, т.к. работа с этой СУБД намного проще, чем работа с файлами.

Wakko 26.03.2010 01:09

Огромное всем спасибо! Плюсики поставил.
mailbrush, у меня есть куча нвостей в тхт, их и нужно перегнать из тхт в базу. Только такой путь приходил в голову.


Время: 21:18