Работа с файлами в скриптах XHE
Для работаы с файлами в XWeb Human Emulator предусмотренны два объекта - file_os и textfile. Как не трудно догадаться объект file_os служит для работы со всеми файлами, а объект textfile служит для работы с текстовыми файлами. Рассмотрим основной функционал этих объектов.
Объект file_os:
copy – копировать файл
move – переместить файл
rename – переименовать файл
delete – удалить файл
<?php
// The following code is required to properly run XWeb Human Emulator
require("../../../Templates/xweb_human_emulator.php");
// копировать файл
// параметры:
// $path – путь к существующему файлу
// $new_file_place – новый путь к файлу(новое место хранения файла)
// $flag_fail_exist – флаг, определяющий поведение функции при существовании файла с таким же именем на новом месте
echo $file_os->copy("C:\Doc\1.txt","C:\Doc\2.txt","true");
// переместить файл
// параметры:
// $path – путь к существующему файлу
// $new_file_place – новый путь к файлу(новое место хранения файла)
echo $file_os->move("C:\Doc\1.txt","C:\2.txt");
// переименовать файл
// параметры:
// $path – путь к существующему файлу
// $new_file_name – новое имя файла
echo $file_os->rename("C:\Doc\1.txt","C:\Doc\2.txt");
// удалить файл
// параметры:
// $path – путь к существующему файлу
echo $file_os->delete("C:\Doc\1.txt");
// Quit
$app->quit();
?>
Объект textfile:
read_file – прочитать файл
write_file – записать файл
add_string_to_file – добавить строку в файл
get_line_from_file – получить случайную строку из файла
<?php
// The following code is required to properly
// run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
// считать файл C:\1.txt с диска в переменную text
// параметры :
// $file – путь к файлу
// $timeout – таймаут на обработку файла, параметр существенен
// для работы с большими файлами
$text = $textfile->read_file('C:\1.txt',10);
// записать файл C:\1.txt на диск с содержимым TEST
// параметры :
// $file – путь к файлу
// $str – содержимое
// $timeout – таймаут на обработку файла
$textfile->write_file('C:\1.txt','TEST',60);
// добавить строку в файл
// параметры :
// $file – путь к файлу
// $str – строка
// $timeout – таймаут
$textfile->add_string_to_file('C:\1.txt',"добавить строку в файл."rn",60);
// получить заданную строку из файла (нумерация строк(линий) начинается с 0)
// параметры :
// $file – путь к файлу
// $rand – с помощью этого параметра задаём получать случайную строку или заданную. Параметр может быть true или false.
// $line – номер строки, которую нам надо получить. Если параметр $rand задан как true, то данный параметр не работает.
// $timeout – таймаут
// с помощью оператора echo выведем строку в окно отладки программы
echo $textfile->get_line_from_file("c:testproxy_1.txt","false",5,60) ." - заданная строка <br>" ;
// Quit
$app->quit();
?>
Более подробное описание по этим объектам можно найти тут и тут
Помимо встроенных объектов в скриптах XHE доступна вся работа с файлом, которая есть в языке PHP. Например, такие функции как file, file_get_contents, file_put_contents, fopen, fread, fwrite, file_exists, is_file, сору, rename и многие другие. Описание всех этих функций можно найти в манулах по PHP.
Пример использования некоторых PHP функций работы с файлом в скриптах XHE:
<?php
// The following code is required to properly run XWeb Human Emulator
require("../../../Templates/xweb_human_emulator.php");
// получение данных из файла в массив - каждая строка это элемент массива
// в данном примере получаем прокси из файла в массив
$proxies= file("proxy.txt");
// прочитать весь файл в переменную text
$text = file_get_contents('people.txt');
// Читаем 14 символов, начиная с 21 символа
$section = file_get_contents('people.txt', NULL, NULL, 20, 14);
// проверяем существует ли файл в папке где лежит сам скрипт
if (!file_exists("proxy.txt"))
{
// если файла не существует создаём файл и пишем в него строку "прокси"
file_put_contents("proxy.txt","прокси");
}
// открыть файл на чтение
$handle = fopen("res.txt", "r");
while (!feof($handle))
{
// читаем строку из файла
$buffer = fgets($handle, 1024);
// покажем что прочитали в окне отладки
echo $buffer."<br>";
// что делаем ещё со строкой ...
}
// закрываем файл
fclose($handle);
// Quit
$app->quit();
?>