这就是我所拥有的。
$filename= asql($_GET['filename']);
$fullfile = "xml/".$filename;
function delete_book_id($ids){
$data = simplexml_load_file($fullfile);
$data_count = count($data->item);
for($i = 0; $i < $data_count; $i++)
{
//basically what you want to remove
if(($data->item[$i]->id == $ids))
{
unset($data->item[$i]);
}
}
file_put_contents($fullfile, $data->saveXML());
}
假设$fullfile
为xml/name.xml
,文件存在于我们的文件夹中。在函数中调用变量的地方它应该正常工作吗?
如果我用xml/name.xml
替换函数中的变量,它将起作用,但使用该变量会导致页面中断而不重新加载,也不会删除它应该unset
的行。函数不接受变量,或者我在这里遗漏了什么?
我也尝试使用"xml/".$filename
代替函数中的变量。那里也没有运气。
答案 0 :(得分:2)
$fullfile
在函数之外定义。它内部undefined
。在函数中使用global $fullfile;
或在那里定义它。