Просмотр полной версии : Реализовать скрипт на 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 = содержание.
Подскажите пожалуйста, могу немножко отблагодорить деньгами и плюсом.
а не легче в файле сразу это всё написать???например в нулевой строке
стукни мне в асю 6465777 помогу чем смогу.
Deathdreams
26.03.2010, 00:43
ТС не ищет лёгких путей.
Имеется папка 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 не существует!';
}
}
?>
Но не проверял, не запускается аппач.
<?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, т.к. работа с этой СУБД намного проще, чем работа с файлами.
Огромное всем спасибо! Плюсики поставил.
mailbrush, у меня есть куча нвостей в тхт, их и нужно перегнать из тхт в базу. Только такой путь приходил в голову.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot