PDA

Просмотр полной версии : Реализовать скрипт на php


Wakko
25.03.2010, 23:47
Имеется папка 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
Имеется папка 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
$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

$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, у меня есть куча нвостей в тхт, их и нужно перегнать из тхт в базу. Только такой путь приходил в голову.