// Отправка POST запроса с получением печенек:
function send_post_get_cookie($URL='', $PostData=Array(), $cookie='')
{
// Отсекаем пустые вызовы:
if (strlen($URL)<=0) return false;
// Скопировал строку из FireBug:
$ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
// Инициализация объекта:
$ch = curl_init($URL);
// показывать заголовки (в них куки):
curl_setopt($ch, CURLOPT_HEADER, 1);
// не показывать тело страницы (для экономии траффика):
curl_setopt($ch, CURLOPT_NOBODY, 1);
// это чтобы прикинуться браузером:
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
// можно ставить еще вот это, если удаленный сервер проверяет:
// curl_setopt($ch, CURLOPT_REFERER, $URL);
curl_setopt($ch, CURLOPT_POST, 1);
// включение полей POST в запрос:
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
// если нужны печеньки, установим:
if (strlen($cookie)>0)
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
// тормозим стандартный вывод:
ob_start();
// запускаем запрос:
curl_exec ($ch);
curl_close ($ch);
// получаем заголовки в массив:
$headers = explode("\n", ob_get_contents());
ob_end_clean();
// выдираем строку печенек:
for ($i=0, $cnt=count($headers); $i<$cnt; $i++)
if (strpos($headers[$i], 'Set-Cookie:') !== FALSE)
$cookie .= substr($headers[$i], strpos($headers[$i], 'Set-Cookie:')+strlen('Set-Cookie:'));
// и возвращаем результат:
return $cookie;
}
// Сохранение файла с удаленного хостинга:
function save_get_file($URL='', $cookie='')
{
if (strlen($URL)<=0) return false;
$filename = $_SERVER['DOCUMENT_ROOT'].'/upload/tmp/'.date('YmdHis_').rand(99,9999999).'.tmp';
$fp = fopen($filename, 'w');
if (!$fp)
return false;
else
{
$ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_FILE, $fp); // чтобы выгрузить в файл;
if (strlen($cookie)>0)
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_exec ($ch);
curl_close ($ch);
return $filename;
}
}
var path = require('path');
var fs = require('fs');
var async = require('async');
function getFiles (dirPath, callback) {
fs.readdir(dirPath, function (err, files) {
if (err) return callback(err);
var filePaths = [];
async.eachSeries(files, function (fileName, eachCallback) {
var filePath = path.join(dirPath, fileName);
fs.stat(filePath, function (err, stat) {
if (err) return eachCallback(err);
if (stat.isDirectory()) {
getFiles(filePath, function (err, subDirFiles) {
if (err) return eachCallback(err);
filePaths = filePaths.concat(subDirFiles);
eachCallback(null);
});
} else {
if (stat.isFile() && /\.js$/.test(filePath)) {
filePaths.push(filePath);
}
eachCallback(null);
}
});
}, function (err) {
callback(err, filePaths);
});
});
}
getFiles('./', function (err, files) {
console.log(err || files);
});
plugins: [
new HtmlWebpackPlugin({ template: 'src/screens/app/index.html'}),
new HtmlWebpackPlugin({ template: 'src/screens/landing/index.html'})
]
plugins: [
...PAGES.map((page) => new HtmlWebpackPlugin({
template: `${PAGES_DIR}/${page}`,
filename: `./${page}`,
inject: true,
})),
],
стать топовым WEB разработчиком на фрилансе/удаленке?
Знаю HTML, CSS, Bootstrap 3,4, верстал на них, сейчас освоил FlexBox, знаю как адаптивно верстать.
Желание делать сайты под ключ, дизайны сайтов, приложений и разработка.
Как думаете все вместе реально круто освоить и стать хорошим разработчиком сайтов от дизайна до верстки и запуска сайта, так скажем?
4.1. Дублирование вопроса, который уже размещался на страницах Сервиса. В том числе и в случае, если вопрос был удалён модератором, или на вопрос не был дан ответ (т.е. категорически запрещается дублирование вопроса с целью повторного привлечения к нему внимания).
u
:preg_match_all("/[а-я]{4,}/ui", $string, $keywords);