Ответы пользователя по тегу HTML
  • Как в BOOTSTRAP сделать сетку на 4 колонки?

    @omichkun
    <div class="row">
    <div class="col-md-3"></div>
    <div class="col-md-3"></div>
    <div class="col-md-3"></div>
    <div class="col-md-3"></div>
    </div>
    Ответ написан
    Комментировать
  • Возможно ли написать универсальный парсер сайтов?

    @omichkun
    Очень сомневаюсь, что это возможно.
    Вам же нужны структурированные данные, а не просто сплошной текст того, что есть на сайте/странице. А чтобы получить структурированные данные, необходимо знать и настроить структуру для парсера, чтобы он знал, что брать, а что пропускать.
    Ну и curl - не панацея от всех проблем. Например, он не сможет получить данные, которые подгружаются на сайте, используя JavaScript (подсказка: в этом случае поможет только PhantomJS).
    Ответ написан
    5 комментариев
  • Как в Notepad++ выполнить регулярное выражение только первый раз для всех открытых файлов?

    @omichkun
    Notepad++, насколько знаю, не может в такие функции.
    Из вариантов только посмотреть какие рядом уникальные символы только для этого места документа есть, но общие для всех документов.
    Например, перед этим первым тегом может стоять другой какой-нибудь (допустим, закрывающий </head>), либо что-то после него уникальное, но, естественно, после или перед остальными тегами в документе ничего подобного быть не должно. Тогда можно будет заменить даже не регуляркой, а обычным расширенным поиском (с поддержкой символов "\n", "\t" и т. д.).
    Ответ написан
  • Как отправить письмо c содержимым формы на почту на бесплатном хостинге без php?

    @omichkun
    Кроме уже предложенных вариантов, можно ещё сделать форму, которая будет отправлять данные на другой сервер (если, конечно, он есть в наличии), и уже с того другого сервера отправлять почту и редиректить обратно на сайт.
    Ответ написан
    1 комментарий
  • Какой html5 аудиоплеер выбрать, чтобы умел скрывать источник проигрывания?

    @omichkun Автор вопроса
    В общем, разобрался сам.
    На всякий случай на будущее отвечу сам.
    Если кратко - необходимо создать файл php, подставить туда необходимые заголовки и прочитать из него нужный аудиофайл. Нужный файл возьмётся из сессии или гет-переменной (кому как удобнее).

    В простейшем виде это будет выглядеть примерно вот так:

    <?php
    //стартуем сессию, чтобы работали сессионные переменные
    session_start();
    
    //ниже классы для подключения к базе и запроса нужной инфы из неё (путь к файлу и имя файла)
    class DB extends PDO
    {
    	public $dsn = 'mysql:host=127.0.0.1;dbname=database';
    	public $user= 'root';
    	public $pass= 'password';
    	public $opt = array(PDO::ATTR_ERRMODE=> PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC,PDO::ATTR_EMULATE_PREPARES=>false);
    	public function __construct()
    	{
    		parent::__construct($this->dsn, $this->user, $this->pass);
    		parent::exec("SET NAMES utf8");
    	}
    }
    
    
    class Connect{
            private static $instance=null;
            private function __construct() {}
            private function __clone() {}
            public static function run() {
                if (self::$instance == NULL) {
                            self::$instance = new DB();
                            }
                    return self::$instance;
            }
            final public function __destruct() {
                self::$_instance = null;
            }
    }
    
    class Data{
    		var $path;
    		var $filename;
    
    
    function getDataByID($id){
    			$pdo = Connect::run();
    			$query = $pdo->prepare("SELECT * FROM data WHERE id = ? LIMIT 1");
    			$query->execute(array($id));
    			$count = $query->rowCount();
    			if($count>0){
    				$row = $query->fetch();
    				$this->path = $row['file_path'];
    				$this->filename= $row['filename'];
    				return true;
    			}
    			else{
    				return false;
    			}
    		}
    }
    	
    //проверяем наличие сессионной переменной
    	if (isset($_SESSION['id']) && !empty($_SESSION['id'])){
    		$data= new Data;
    		$data->getDataByID($_SESSION['id']);
    		
    		
    		$file = $data->path.'/'.$data->filename; //вставляем полученные из БД данные 
    		if (file_exists($file)) { //проверяем наличие файла 
    				header("Content-Transfer-Encoding: binary"); 
    				header('Content-Length: '. (string)filesize($file)); // пишем размер файла
    				header('Content-type: audio/wav');
    				header('Cache-Control: no-cache');
    				readfile($file);
    				exit;
    		}
    }


    Вот как-то так.
    Ответ написан