Изтриване на ред от файл, който служи за DB.

kenefa

Registered
Използвам този урок:
http://web-tourist.net/login/login/view.php?st=304
за една галерия, но тъй като в нея има опция за изтриване на файл ми трябва и да трие реда на този файл от базата данни. Например да търси името на файла (което е записано там) и да трие целият ред. Това ми е кода за търсенето, но триенето ми е проблем:
Код:
$pic = $_GET['pic'];
$search= $pic;
$search=str_replace(" ","",$search);
$db = file("db.inc");
$n=count($db);
for ($m=0; $m<$n;$m++)
{
$file1=$db[$m];
$file1=str_replace(" ","",$file1);
$file1=str_replace("&","",$file1);
$file1=str_replace("\n","",$file1);
if (eregi($search,$file1))
{
$line = explode ("&",$db[$m] ); 
$filename = $line[0];
$category = $line[1];
$dir = $line[2];
$author = $line[3];
$comment = $line[4];
 
Това ще ти помогне ли:

file.php
Код:
<?
$lines = file('file.txt');
foreach ($lines as $line_num => $line) {
echo "Ред #<b>{$line_num}</b> : " . htmlspecialchars($line) . " <a href=\"delete.php?red={$line_num}\">Изтрий</a><br />\n";
}
$html = implode('', file('file.txt'));
?>

delete.php
Код:
<?php
function cutline($filename,$line_no=-1) {
$strip_return=FALSE;
$data=file($filename);
$pipe=fopen($filename,'w');
$size=count($data);
if($line_no==-1) $skip=$size-1;
else $skip=$line_no-1;
for($line=0;$line<$size;$line++)
if($line!=$skip)
fputs($pipe,$data[$line]);
else
$strip_return=TRUE;
return $strip_return;
}
$red = $_GET['red'];
$red = $red + 1;
cutline('file.txt',$red);
print "Редът беше изтрит!";
?>

file.txt
Код:
Simple text 1
Simple text 2
Simple text 3
Simple text 4
Simple text 5
Simple text 6
Simple text 7
Simple text 8
Simple text 9

:roll:
 
Не, скрипта ми се вижда много овъртян и немога да го схвана :roll: Други предоложения ?
 

Back
Горе