A-AA+then

ช่วยดู code delete line ให้ผมหน่อยคับ

1,371


ผมได้ทำระบบเก็บข้อความแบบ txt

แสดงเป็น line 01234
ผมได้ส่งค่า <input type=checkbox name='a[]'  value='$line_num'>

 
//ส่วนรับค่า
$arr=count($a);
for($n=0;$n< $arr;$n++){
echo "$a[$n]"; // ผมต้องการ ดึงค่า $line_num  ตรงนี้ เช่นผมต้องการเลือก checkboxเพื่อลบทีละหลาย line

แต่ผมไม่ทราบว่าต้องแทรก  $lineNum ที่เป็น array เพื่อที่จะ delete line ยังไง

//code delete line

$fileName = "c.txt";
$lineNum = $a;
$arr = file($fileName);
 $lineToDelete = $lineNum;
  unset($arr["$lineToDelete"]);
 if (!$fp = fopen($fileName, 'w+'))
   {
 print "Cannot open file ($fileName)";

    exit;
       }
  if($fp)    {
        foreach($arr as $line) { fwrite($fp,$line); }
          fclose($fp);
        }

echo "done";
 

2 ความคิดเห็น

<?php
  $del = 10;// สมมุติว่าลบบรรทัดที่ 10
  $datas = array(); // แอเรย์เก็บข้อมูลที่ไม่ได้ถูกลบ
  $fr = file('data.dat');
  for($i = 0 ; $i < count($fr) ; $i++){
    if($del != $i){
      // ไม่ใช่บรรทัดที่ต้องการลบ
      $datas[] = $fr[$i];
    }
  }
  // บันทึกข้อมูลที่ยังเหลือ
  $f = fopen('data.dat', 'w');
  fwrite($f, implode("\n", $datas));
  fclose($f);
?>
1

ขอถามต่ออีกนิดนะครับ

For ($i=0; $i<Count($a); $i++){
 

$del = $a[$i] // สมมุติว่าลบหลายบรรทัด 1234

ปัญหาของผมก็คือ ส่งค่ามาหลายแต่มันลบแค่บรรทัดเดียว
2
^