Eternal, Импорт откуда? Самое простое curl -o "url_to_image"
Eternal, Ты читаешь что написал? Я вот лично ничего не понял
# kantry (09.03.2018 / 19:45)
Eternal, Ты читаешь что написал? Я вот лично ничего не понял
$url = $favicon;
$path = '../catalog/' . $faviconus . '.png';
$ch = curl_init();
$fp = fopen($path, "w+");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,
CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
cенсору пришла 5 точка. готово)
Можно еще файлы копировать с помощью copy, file_get_contents/file_put_contents
# Sitego (18.02.2018 / 09:47)
В общем, начал постепенный переход на PHP 7 и фактически все сайты переделываю по-новому. И раз всё равно многое переделывать, тут встал вопрос – в связи с блокировкой украинскими провайдерами Яндекс.
readfile(url) что бы не скачивать\удалять. файл просто пойдет через сервер как через некий буфер, при чем не целиком разом, а частями, так что не будет давать большой нагрузки
Добавлено: 17.03.2018 / 08:04
ramzes, спасибо за подсказку, попробую.
Добавлено: 17.03.2018 / 08:12
Есть вот такой класс подключения к БД
class DB
{
// Данные для подключения
private $db_config = array
(
'HOST' => 'localhost',
'DATABASE' => 'name_base',
'USER' => 'admin_base',
'PASSWORD' => 'pass_base'
);
...код
}
Как можно заставить работать переменные в массиве из внешнего файла, чтобы получилось что-то типа так?
require('dbconfig.php');
class DB
{
// Данные для подключения
private $db_config = array
(
'HOST' => $dbHost,
'DATABASE' => $dbName,
'USER' => $dbUser,
'PASSWORD' => $dbPass
);
...код
}
Дело в том, что переменные вообще не хотят определяться.
Sitego, а не лучше ли сразу присваивать переменные в классе подключения к бд?
Serghei, каким образом? Мне нужно чтобы сторонний модуль подключался к файлу конфигурации движка. Чтобы при замене данных MySQL не бегать по куче файлов и не настраивать подключение к БД скриптов по отдельности. Причём про некоторые можно и забыть, что собственно в моём случае и произошло гг, полдня не работал скрипт. Вот нужно как-то чтобы те переменные начали работать в этом классе. Ну не переписывать же движок или сторонний скрипт? Неужели нет решения подключить переменные к классу?
Добавлено: 17.03.2018 / 11:46
Sitego, тут можно использовать include в классе, с последующим extract() . Для этого важно, чтобы файл - конфиг имел return ассоциативного массива, ключи которого в точности должны соответствовать названиям переменных из того класса, в который этот конфиг будет инклудиться.
Если не понял суть, я позже зайду с ПК, напишу пример.
Добавлено: 17.03.2018 / 12:40
dbconfig.php<?php
return [
'dbHost' => 'localhost',
'dbName' => 'name_base',
'dbUser' => 'admin_base',
'dbPass' => 'pass_base'
];
Подключение в классеclass DB
{
private $db_config = [];
public function __construct($config)
{
extract(include $config);
$this->db_config = [
'HOST' => $dbHost,
'DATABASE' => $dbName,
'USER' => $dbUser,
'PASSWORD' => $dbPass
];
}
//...код
}
var_dump( new DB('dbconfig.php') );
И тогда при создании экземпляра объекта будут присвоены соответствующие значения:
object(DB)[1]
private 'db_config' =>
array (size=4)
'HOST' => string 'localhost' (length=9)
'DATABASE' => string 'name_base' (length=9)
'USER' => string 'admin_base' (length=10)
'PASSWORD' => string 'pass_base' (length=9)