GORAGOD.com

freelance, web developer, web designer, hosting, domain name

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


ผมได้ทำระบบเก็บข้อความแบบ 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";
 

30 มี.ค. 2553 2 2,076

<?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
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^