下面的代碼分裂我的文件每隔10行,但我想它分裂每次拆分大文件每次</byebye>發生
</byebye>
發生。這樣,我會得到多個文件,每個文件都包含;
<byebye>
*stuff here*
</byebye>
代碼:
<?php
/**
*
* Split large files into smaller ones
* @param string $source Source file
* @param string $targetpath Target directory for saving files
* @param int $lines Number of lines to split
* @return void
*/
function split_file($source, $targetpath='files/', $lines=10){
$i=0;
$j=1;
$date = date("m-d-y");
$buffer='';
$handle = @fopen ($source, "r");
while (!feof ($handle)) {
$buffer .= @fgets($handle, 4096);
$i++;
if ($i >= $lines) {
$fname = $targetpath.".part_".$date.$j.".xml";
if (!$fhandle = @fopen($fname, 'w')) {
echo "Cannot open file ($fname)";
exit;
}
if ([email protected]($fhandle, $buffer)) {
echo "Cannot write to file ($fname)";
exit;
}
fclose($fhandle);
$j++;
$buffer='';
$i=0;
$line+=10; // add 10 to $lines after each iteration. Modify this line as required
}
}
fclose ($handle);
}
split_file('testxml.xml')
?>
任何想法?
使用simplexml_load_string()來處理xml – Ibu
到目前爲止您嘗試了什麼? –
您有可能發佈更大的XML樣本,或者您是否確認要將每個BYEBYE元素的內容保存到單獨的XML文件中? –