UICollectionView Выполнение обновлений с использованием executeBatchUpdates

Вы можете использовать fseek , чтобы изменить указатель в примечании.

Следует отметить, что если вы используете fwrite, он удалит текущий контент. Поэтому в основном вы должны прочитать весь файл, использовать fseek, написать свой новый контент, записать старые данные файла.

$file_data = file_get_contents('database.txt')
$fp = fopen('database.txt', 'a');
fseek($fp,0);
fwrite($fp, 'new content');
fwrite($fp, $file_data);
fclose($fp);

Если ваш файл действительно огромный, и вы не хотите чтобы использовать слишком много памяти, вы можете захотеть иметь два подхода к файлу, например

$fp_source = fopen('database.txt', 'r');
$fp_dest = fopen('database_temp.txt', 'w'); // better to generate a real temp filename
fwrite($fp_dest, 'new content');
while (!feof($fp_source)) {
    $contents .= fread($fp_source, 8192);
    fwrite($fp_dest, $contents);
}
fclose($fp_source);
fclose($fp_dest);
unlink('database.txt');
rename('database_temp.txt','database.txt');

. Решение Ben кажется более простым в моем честном мнении.

Последний пункт: Я не знаю, что у вас есть в database.txt, но вы можете сделать то же самое проще с помощью сервера базы данных.

30
задан zanona 11 February 2013 в 21:54
поделиться