/* Просте отримання вмісту файлу через curl */
[PHP]
<?php
/**
* @parma $url URL віддаленого файлу
* @Return $contents Отриманий контент
* **/
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
?>
/* Отримання вмісту віддаленого файлу */
[PHP]
<?php
/**
* @parma $url URL віддаленого файлу
* @Return $http_code Отриманий контент
* **/
public static function getContent($url){
$flag = 0;
do {
$hCurl = curl_init();
curl_setopt($hCurl, CURLOPT_HEADER, 0);
curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($hCurl, CURLOPT_TIMEOUT, 120);
curl_setopt($hCurl, CURLOPT_CONNECTTIMEOUT, 4);
curl_setopt($hCurl, CURLOPT_URL, $url);
$data = curl_exec($hCurl);
if (curl_errno($hCurl)) {
break;
}
$http_code = curl_getinfo($hCurl, CURLINFO_HTTP_CODE);
if ($http_code >= 400) { //400 - 600 is server error
break;
}
$flag = 1;
} while (0);
curl_close($hCurl);
if ($flag) {
return $data;
} else {
return false;
}
}
?>
/* Отримання віддаленого файлу і збереження локально */
[PHP]
<?php
/**
* @Parma $filename Ім'я файлу для збереження
* @parma $url URL віддаленого файлу
* @Return Отриманий контент
* **/
public static function getContentToFile($fileName, $url)
{
$out = fopen($fileName, 'w');
if (empty($out)) {
return false;
}
$flag = 0;
do {
$hCurl = curl_init();
curl_setopt($hCurl, CURLOPT_HEADER, 0);
curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($hCurl, CURLOPT_TIMEOUT, 120);
curl_setopt($hCurl, CURLOPT_CONNECTTIMEOUT, 4);
curl_setopt($hCurl, CURLOPT_FILE, $out);
curl_setopt($hCurl, CURLOPT_URL, $url);
$data = curl_exec($hCurl);
if (curl_errno($hCurl)) {
break;
}
$http_code = curl_getinfo($hCurl, CURLINFO_HTTP_CODE);
if ($http_code >= 400) { //400 - 600 is server error
break;
}
$flag = 1;
} while (0);
curl_close($hCurl);
fclose($out);
if ($flag) {
return $data;
} else {
return false;
}
}
?>
/* Отримання вмісту файла в строку*/
[PHP]
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
/* Отримати розмір файла через filesize() і прочитати весь файл в строку */
[PHP]
<?php
$filename = "/usr/local/something.txt";
$handle = fopen ($filename, "r"); // При чтанні двоічного файлу необхіно додати другий параметр "rb"
$contents = fread($handle, filesize ($filename));
fclose($handle);
?>
/* Отримати розмір файлу через filesize після feof() та fread() */
[PHP]
<?php
$handle = fopen('http://www.baidu.com', 'r');
$content = '';
while(!feof($handle)){
$content .= fread($handle, 8080);
}
echo $content;
fclose($handle);
?>
/* Вміст файлу з перевіркою успіху */
[PHP]
<?php
$handel = @fopen("/tmp/inputfile.txt", "r");
if ($handel) {
while ($buffer = fgets($handel, 4096) != false) {
echo $buffer;
}
if (!feof($handel)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
?>
/* Отримати вміст построково через fgets() */
[PHP]
<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
while(!feof($file))
{
echo fgets($file). "<br>";
}
fclose($file);
?>
/* Отримати вміст построково через fgetss() */
[PHP]
<?php
$handle = fopen('./file.txt', 'r');
while(!feof($handle)){
echo fgetss($handle, 1024, '<br>');
}
fclose($handle);
?>
/* Запис у текстовий файл */
[PHP]
<?php
$file = "data.txt";
$content = "Зміст вмісту \r\n Перша строка \r\n Друга строка";
if(!$fp = fopen($file,'a'))
{
echo "Відкриваємо файл $file!";
exit;
}
if(fwrite($fp,$content) === FALSE)
{
echo "Запис файлу невдалий!";
exit;
}
echo "Запис файлу закінчено.";
fclose($fp);
?>
/* Отримання файлу через функцію fsockopen() */
[PHP]
<?php
$fp = fsockopen('http://www.baidu.com', 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>