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

Форум PHP

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

 

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

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

тема: чтение title в html файлах
 
 автор: triton   (09.11.2006 в 22:44)   письмо автору
 
 

На странице doc.php находится две таблицы. На одной размещаются ссылки, вторая пустая (для открывающегося текста). Как написать скрипт, который бы читал html файлы находящиеся в той же папке и выводил ссылки из информации содержащейся в title, html документа и открывал остальной текст во второй таблице? заранее спасибо всем, кто уделит время. учиться на примерах гораздо проще.

   
 
 автор: skor   (09.11.2006 в 23:09)   письмо автору
 
   для: triton   (09.11.2006 в 22:44)
 

3 раза прочитал и смутно представил все это )))

   
 
 автор: cheops   (10.11.2006 в 00:02)   письмо автору
 
   для: triton   (09.11.2006 в 22:44)
 

>Как написать скрипт, который бы читал html файлы находящиеся в той же папке
Ммм... в той же папке с чем?

   
 
 автор: triton   (10.11.2006 в 00:23)   письмо автору
 
   для: cheops   (10.11.2006 в 00:02)
 

с файлом index.php . а проблема в том, что есть много текстовых файлов с названиями которые становятся нечитаемыми в исполнении латинскими буквами, поэтому я и хочу узнать, а можно ли при организации ссылок, вместо названий файлов использовать title, ведь их можно называть по русски. а может есть вариант ещё проще, подскажите. пытаюсь разобраться с msql, может проще получиться

   
 
 автор: cheops   (10.11.2006 в 02:43)   письмо автору
 
   для: triton   (10.11.2006 в 00:23)
 

Тогда возможно вас заинтересует ссылка http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=7152 - вы читате содержимое директории при помощи opendir()+readdir()?

   
 
 автор: triton   (10.11.2006 в 17:04)   письмо автору
 
   для: cheops   (10.11.2006 в 02:43)
 

спасибо, пригодилось

   
 
 автор: triton   (10.11.2006 в 17:08)   письмо автору
 
   для: triton   (10.11.2006 в 17:04)
 

вот есть такой рабочий код, а как можно было бы его переделать, что бы он, при выводе ссылок использовал title?

[code]
<?
$action = $_GET['action'];
$file = $_GET['file'];
$start = $_GET['start'];
if (empty($start)) $start = 0;
if ($start < 0) $start = 0;
?>
<html><body> <table width="100%" border=1>
<tr><td>
<?
function scan_dir($dirname)
{
$dir = opendir($dirname);
while (($file_l = readdir($dir)) !== false)
{
if($file_l != "." && $file_l != ".." && $file_l != "index.php")
{
if(is_file($dirname."/".$file_l))
{
echo "<a href=index.php?action=show&file=".$file_l.">".$file_l."</a><br>";
}
}
}
closedir($dir);
}
scan_dir("./")
?>
</td></tr>
</table> <br>
<table width=100% border=1> <tr><td>
<?
if($action == "show")
{
$fd = fopen($file, "r");
$show_file = fread($fd,filesize($file));
$kol_vo = strlen($show_file)/3;
$kol_vo = floor($kol_vo);
echo "<p>".substr($show_file, $start, $kol_vo);
print "<center>";
if ($start != 0)
{
print " <A href=index.php?action=show&file=".$file."&start=".($start - $kol_vo).">назад</A> ";
}
if (strlen($show_file) > $start + $kol_vo)
{
print " <A href=index.php?action=show&file=".$file."&start=".($start + $kol_vo).">вперед</A> \n";
}
print "</center><br>";
}
?> <br>
</td></tr></table>
</body></html>
[code]

   
 
 автор: Yakor   (10.11.2006 в 17:15)   письмо автору
 
   для: triton   (10.11.2006 в 17:08)
 

Должно работать... еще не тестил
<? 
$action 
$_GET['action']; 
$file $_GET['file']; 
$start $_GET['start']; 
if (empty(
$start)) $start 0
if (
$start 0$start 0
?> 
<html><body> <table width="100%" border=1> 
<tr><td> 
<? 
function scan_dir($dirname

$dir opendir($dirname); 
while ((
$file_l readdir($dir)) !== false

if(
$file_l != "." && $file_l != ".." && $file_l != "index.php"

if(
is_file($dirname."/".$file_l)) 
{
$filex fopen($file_l,"r");
if(!
filex)
{
      echo(
"Ошибка открытия файла");
}
else
{
      
$buffxfread ($file,100);
      
$buffxpreg_match("#<title>(.*?)<\/title>#i"$buffx$outx); 
      
$titlex $outx[1]; 
}
echo 
"<a href=index.php?action=show&file=".$file_l.">".$titlex."</a><br>"



closedir($dir); 

scan_dir("./"
?> 
</td></tr> 
</table> <br> 
<table width=100% border=1> <tr><td> 
<? 
if($action == "show"

$fd fopen($file"r"); 
$show_file fread($fd,filesize($file)); 
$kol_vo strlen($show_file)/3
$kol_vo floor($kol_vo); 
echo 
"<p>".substr($show_file$start$kol_vo); 
print 
"<center>"
if (
$start != 0

print 
" <A href=index.php?action=show&file=".$file."&start=".($start $kol_vo).">назад</A> "

if (
strlen($show_file) > $start $kol_vo

print 
" <A href=index.php?action=show&file=".$file."&start=".($start $kol_vo).">вперед</A> \n"

print 
"</center><br>"

?>

   
 
 автор: triton   (10.11.2006 в 20:46)   письмо автору
 
   для: Yakor   (10.11.2006 в 17:15)
 

направление верное, но почемуто показывает ошибку вот здесь:
$buffx= fread ($file,100);

   
 
 автор: Yakor   (10.11.2006 в 20:53)   письмо автору
 
   для: triton   (10.11.2006 в 20:46)
 


<?  
$action 
$_GET['action'];  
$file $_GET['file'];  
$start $_GET['start'];  
if (empty(
$start)) $start 0;  
if (
$start 0$start 0;  
?>  
<html><body> <table width="100%" border=1>  
<tr><td>  
<?  
function scan_dir($dirname)  
{  
$dir opendir($dirname);  
while ((
$file_l readdir($dir)) !== false)  
{  
if(
$file_l != "." && $file_l != ".." && $file_l != "index.php")  
{  
if(
is_file($dirname."/".$file_l))  

$filex fopen($file_l,"r"); 
if(!
filex

      echo(
"Ошибка открытия файла"); 

else 

      
$buffxfread ($filex,100); 
      
$buffxpreg_match("#<title>(.*?)<\/title>#i"$buffx$outx);  
      
$titlex $outx[1];  

echo 
"<a href=index.php?action=show&file=".$file_l.">".$titlex."</a><br>";  
}  
}  
}  
closedir($dir);  
}  
scan_dir("./")  
?>  
</td></tr>  
</table> <br>  
<table width=100% border=1> <tr><td>  
<?  
if($action == "show")  
{  
$fd fopen($file"r");  
$show_file fread($fd,filesize($file));  
$kol_vo strlen($show_file)/3;  
$kol_vo floor($kol_vo);  
echo 
"<p>".substr($show_file$start$kol_vo);  
print 
"<center>";  
if (
$start != 0)  
{  
print 
" <A href=index.php?action=show&file=".$file."&start=".($start $kol_vo).">назад</A> ";  
}  
if (
strlen($show_file) > $start $kol_vo)  
{  
print 
" <A href=index.php?action=show&file=".$file."&start=".($start $kol_vo).">вперед</A> \n";  
}  
print 
"</center><br>";  
}  
?> 

   
 
 автор: Yakor   (10.11.2006 в 20:54)   письмо автору
 
   для: triton   (10.11.2006 в 20:46)
 

Кстати... наверное первых 100 байт не хватит....

   
 
 автор: triton   (10.11.2006 в 21:46)   письмо автору
 
   для: Yakor   (10.11.2006 в 20:54)
 

10 из 10. спасибо , буду разбираться

   
 
 автор: triton   (14.11.2006 в 23:03)   письмо автору
 
   для: triton   (10.11.2006 в 21:46)
 

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

   
 
 автор: Yakor   (19.11.2006 в 13:58)   письмо автору
 
   для: triton   (14.11.2006 в 23:03)
 

всмысле? что за 3 части?... я просто что то сходу не могу понять..

   
Rambler's Top100
вверх

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