Просмотр кода
Название: Импорт с Яндекс Диска
Описание: Импорт с Яндекс Диска. Код не мой.
Добавил: NoName233247533
Дата: 14 июня 2019, в 16:44 Комментарии (0)
Описание: Импорт с Яндекс Диска. Код не мой.
<?php
/**
* Автор Олег Исаев
* ВКонтакте: vk.com/id50416641
* Skype: pandcar97
*/
if (isset($_POST['start']))
{
$name = $_POST['name'];
$url = $_POST['url'];
preg_match('/^https://yadi.sk/d/(.+)/i', $url, $yadisk);
if (! empty($yadisk[1]))
{
$file = get_file_yandex_disk($yadisk[1]);
$name = $file['name'];
$url = $file['url'];
}
if (empty($name))
{
$name = basename(parse_url($url, PHP_URL_PATH));
}
load_file_url($name, $url);
header('location: ?');
exit;
}
function get_file_yandex_disk($id)
{
$html = curl('https://yadi.sk/d/'.$id);
preg_match('/"sk":"([^"]+)"/i', $html, $sk);
preg_match('/"id":"([^"]+)"/i', $html, $id);
preg_match('/"name":"([^"]+)"/i', $html, $name);
$html = curl('https://yadi.sk/models/?_m=do-get-resource-url', 'idClient=undefined1481572106270&version=4.4&sk='.$sk[1].'&_model.0=do-get-resource-url&id.0='.$id[1]);
preg_match('/"file":"([^"]+)"/i', $html, $file);
return [
'name' => $name[1],
'url' => $file[1]
];
}
function curl($url, $post)
{
static $cookie_file;
if ($ch = curl_init())
{
if (empty($cookie_file))
{
$cookie_file = __DIR__ .'/curl_'.md5('curl'.mt_rand()).'.cookie';
register_shutdown_function(function() use ($cookie_file) {
unlink($cookie_file);
});
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
if (! empty($post))
{
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
return false;
}
function load_file_url($filename, $url)
{
$bool = false;
if ($fp = fopen($filename, "w+"))
{
if ($ch = curl_init())
{
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_exec($ch);
curl_close($ch);
$bool = true;
}
fclose($fp);
}
return $bool;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Loader</title>
</head>
<body>
<div>Загрузчик файлов на сервер из внешних источников в папку данного скрипта.</div>
<br>
<form method="post">
<div>Имя файла при сохранении: (не обязательно)<br><input type="text" name="name"></div>
<div>Адрес: (допускается ссылка на файл Яндекс Диска)<br><input type="text" name="url"></div>
<br>
<div><input type="submit" name="start" value="Начать загрузку"></div>
</form>
<br>
<br>
<div>Автор в контакте <a href="https://vk.com/id50416641">PandCar</a></div>
</body>
</html>
Добавил: NoName233247533
Дата: 14 июня 2019, в 16:44 Комментарии (0)