Различные вопросы по PHP и MySQL

101K
.
Hey guys! Finally I'm gonna change status!?
Eternal, Импорт откуда? Самое простое curl -o "url_to_image"
.
# kantry (09.03.2018 / 16:00)
Eternal, Импорт откуда? Самое простое curl -o "url_to_image"
Фавиуон в папку
.
Hey guys! Finally I'm gonna change status!?
Eternal, Ты читаешь что написал? Я вот лично ничего не понял
.
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) что бы не скачивать\удалять. файл просто пойдет через сервер как через некий буфер, при чем не целиком разом, а частями, так что не будет давать большой нагрузки
.
Enter нажат, к чему теперь рыданья…
Добавлено: 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, а не лучше ли сразу присваивать переменные в классе подключения к бд?
.
Enter нажат, к чему теперь рыданья…
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)
Всего: 7969