ถามเรื่องสร้างไฟล์ XML ด้วย PHP ครับ
ผมต้องการสร้างไฟล์ XML ขึ้นมาครับ โดยใช้ PHP ดึงข้อมูลขึ้นมาจาก MYSQL แล้วผมเขียนโค๊ดไว้แบบนี้อะคับ include("StartConnect.inc"); header('Content-type: text/xml'); $head = "<?xml version=\"1.0\" encoding=\"tis-620\"?>
"; $head. = " <taskList>
"; $sql = "SELECT * FROM task"; $result = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($record = @mysql_fetch_array($result)) { $dD = $record['task_start']; $ddDate=explode("-","$dD"); $timeStamp = $record['add_time']; $tS=explode("-","$timeStamp"); $stamp = "$tS[1]"."$tS[0]"; $data.=" <task day='$ddDate[2]'>
"; $data.=" <id>".$record['id']."</id>
"; $data.=" <user_id>".$record['user_id']."</user_id>
"; $data.=" <user_name>".$record['user_name']."</user_name>
"; $data.=" <task_name>".$record['task_name']."</task_name>
"; $data.=" <task_start>".$record['task_start']."</task_start>
"; $data.=" <task_end>".$record['task_end']."</task_end>
"; $data.=" <task_time>".$record['task_time']."</task_time>
"; $data.=" <portion>".$record['portion']."</portion>
"; $data.=" <task_detail>".$record['task_detail']."</task_detail>
"; $data.=" </task>
"; } $data.=" </taskList>
"; $filename="$stamp.xml"; $contents=file($filename); $fp=fopen($filename,'w'); fwrite($fp,$head.$data); จากโค๊ดนี้ ผมต้องการให้ข้อมูลที่ดึงขึ้นมา เก็บอยู่ในไฟล์ที่ชื่อเป็นเดือนกับปีปัจจุบัน.xml ครับ (ตัวอย่าง 122008.xml) แต่ผมไม่รู้ว่าผิดตรงไหนอะครับ ไม่สามารถสร้างไฟล์ออกมาได้ครับ รบกวนหน่อยนะครับ
"; $head. = " <taskList>
"; $sql = "SELECT * FROM task"; $result = mysql_query($sql) or die('Query failed: ' . mysql_error()); while($record = @mysql_fetch_array($result)) { $dD = $record['task_start']; $ddDate=explode("-","$dD"); $timeStamp = $record['add_time']; $tS=explode("-","$timeStamp"); $stamp = "$tS[1]"."$tS[0]"; $data.=" <task day='$ddDate[2]'>
"; $data.=" <id>".$record['id']."</id>
"; $data.=" <user_id>".$record['user_id']."</user_id>
"; $data.=" <user_name>".$record['user_name']."</user_name>
"; $data.=" <task_name>".$record['task_name']."</task_name>
"; $data.=" <task_start>".$record['task_start']."</task_start>
"; $data.=" <task_end>".$record['task_end']."</task_end>
"; $data.=" <task_time>".$record['task_time']."</task_time>
"; $data.=" <portion>".$record['portion']."</portion>
"; $data.=" <task_detail>".$record['task_detail']."</task_detail>
"; $data.=" </task>
"; } $data.=" </taskList>
"; $filename="$stamp.xml"; $contents=file($filename); $fp=fopen($filename,'w'); fwrite($fp,$head.$data); จากโค๊ดนี้ ผมต้องการให้ข้อมูลที่ดึงขึ้นมา เก็บอยู่ในไฟล์ที่ชื่อเป็นเดือนกับปีปัจจุบัน.xml ครับ (ตัวอย่าง 122008.xml) แต่ผมไม่รู้ว่าผิดตรงไหนอะครับ ไม่สามารถสร้างไฟล์ออกมาได้ครับ รบกวนหน่อยนะครับ
$fp=fopen($filename,'w');
fwrite($fp,$head.$data);
fclose($fp);
ครับ ลองตรวจสอบ path และ $filename ดูครับว่าถูกต้องมั้ย ถ้าเป็นบน server ลองตรวจสอบว่า directory สามารถเขียนไฟล์ได้หรือไม่ด้วยครับ