Как спарсить и распознать контакте на сайте которые представлены в виде картинок?
Понадобилось очень "злым" людям, как то у конкурентов базу емайл с сайта конкурента скачать, сами емайл адреса конкурент отдавал не в открытом виде, а формировал в виде изображений, соответственно руками это делать не интересно, решили изобретать велосипед с минимальным ручным трудом, минимальной тратой времени и максимальной автоматизацией.
Первым делом написали на php небольшой скрипт который бегал по сайту и сохранял нужные картинки.
Сам скрипт не привожу, для каждого сайта он свой, но для наглядности кусочек который бегает и сохраняет картинки. (далее…)
Как решить проблему с ошибкой 404 в своем типе данных?
Этот вопрос меня терзал два дня, пока я искал кучу всяких решений на просторах интернета.
Проблема была в том, что при переключении между страницами, выскакивала ошибка 404 и не хотела убегать, ниже поделюсь своей не внимательностью. (далее…)
PEAR + windows и ошибка в php_suffix!
Если вам приходилось устанавливать PEAR на Windows, то вы можете встретить вот такую ошибку при компиляции чего либо интересного для вас:
"config variable php_suffix does not match"
Проблема заключается в том, что нужно прописать суффикс "exe" для исполняемого файла php.exe
В интернет есть баг репорт с такой же проблемой (вот тут: http: / /pear.php.net/bugs/bug.php?id=17016), но то ли я не правильно понимаю смысл перевода, то ли еще чего то, но там выносятся предложения сделать вот так
pecl config-set php_suffix .exe и при этом мы увидим
config-set succeeded, хотя это совсем не так, ошибка в том, что надо это делать не от
pecl, а от
pear, а именно
pear config-set php_suffix .exe и тогда конфиг поправится, можно это посмотреть через
pear config-show
Мне такой вариант помог, удачи.
CentOS 7 + apache + php не записывает в файл/папку, не работает запись?!
Столкнулся с проблемой, php скрипт не мог выполнить запись в файл или директорию, при этом права на папку стояли и 0777 и 0755, на файл 644 и много что другого, даже овнер и группа были верные, проблема закралась в SElinux, если не знаете как это работает или настроено не совсем верно - лучший вариант просто отключить, делается это вот так:
1. Временно отключить:
setenforce 0
2. Отключить насовсем:
в файле /etc/selinux/config, изменить на вот так
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0
После этого запись заработала. Удачи.
Не работает cURL + https !
Столкнулся с такой проблемой на одном из хостингов. Причем ответов по такой проблеме в интернете куча. На одном из хостингов скрипт работал, на другом тот же самый скрипт работать отказывался. Было найдено много ответов в интернете которые кому то помогали, кому то нет (так же как и мне).
Проблема оказалась в версии 7.34 curl, а именно если явно не указывать сертификаты которые поддерживает сервер, то можно получить "банан" вместо рабочего скрипта, магия заключается вот в такой опции:
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'ECDHE-RSA-AES128-GCM-SHA256');
Такого решения мне найти не удалось, помог саппорт хостинга, за что ему спасибо.
Пробуйте, возможно это еще одно решение которое поможем вам.
Categories: Apache, PHP Tags: AES128, curl, curl_setopt, CURLOPT_SSL_CIPHER_LIST, ECDHE, GCM, https, RSA, SHA256, не работает curl
Как переконвертировать на PHP время из BST в GMT?
Исходные данные: время текстовой строкой в формате 00:00 BST
Выходные данные: 00:00
К примеру, имеем данные 16:00 BST, надо получить 15:00.
Натравливаем вот такой кусочек кода:
|
date_default_timezone_set("GMT"); echo date("H:i","16:00 BST",time())); |
на выходе получаем 15:00, удобно и просто.
Обратите внимание, что если поставить 16:00 GMT то на выходе получим 16:00
Удачи.
Перекодировка cp1251 в UTF8 на PHP
Сегодня столкнулся с проблемой перекодировки русского текста из cp1251 (windows-1251) в UTF8. Решение нашел быстро. Как всегда нельзя переоценить роль Google;)
Ранее пользовался
iconv(“CP1251″, “UTF-8″, $text_for_convert), но, как известно
iconv даёт большую нагрузку на сервер и работает медленнее чем представленная ниже функция.
(далее…)
Как подружить Smarty с JavaScript и CSS ?
Ответ прост как 2+2...
Для того чтобы smarty "скушал" JavaScript нужно ставить теги {literal} между javascript кодом. {literal} это открывающий тег, а {/literal} закрывающий. Между этими тегами smarty не будет выполнять свой код, а соответственно и не будет конфликтов. CSS код тоже нужно экранировать этими тегами.
Как сформировать справочник сотрудников по дням рождений используя Active Directory?
Допустим у нас есть корпоративный портал и вы хотите на нем показывать у кого и когда дни рождения, руками это делать муторно и долго, если у вас 100+ сотрудников.
Предложу один из вариантов решения.
В AD, когда заводиться новый сотрудник (пользователь) в поле "Описание" я добавляю его дату рождения в формате дд-мм-гггг
После этого, состряпываем небольшой скриптик который цепляемся к AD через LDAP и формирует список дней рождений.
(далее…)
Выдача Last-Modified, а также работа с If-Modified-Since в PHP-скриптах
<?php
// Определяем дату модификации скрипта и выдаем Last-Modified
$last_modified = filemtime($SCRIPT_FILENAME);
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $last_modified) . ' GMT');
// Пытаемся получить содержимое If-Modified-Since
foreach($_SERVER as $name => $value) {
if($name == 'HTTP_IF_MODIFIED_SINCE')
$modified_since = $value; }
// Пытаемся преобразовать значение в Unix time
if (isset($modified_since)) {
$modified_since = strtotime(preg_replace('/;.*$/', '', $modified_since));
} else {
$modified_since = 0; }
// Сравниваем даты и выдаем заголовок, если требуется
if ($last_modified <= $modified_since) {
header('HTTP/1.1 304 Not Modified');
exit(); }
?>
(далее…)
Свежие комментарии