Загрузка файлов с помощью PHP и cURL

При написании приложения для работы с vkontakte.ru Ads API потребовалось загружать данные на их сервер.
С помощью cURL и PHP делается это так:

< ?php
$ch = curl_init();
// URL для обработки.
curl_setopt($ch, CURLOPT_URL, $url);
// Не отправлять заголовки в браузер
curl_setopt($ch, CURLOPT_HEADER, false);
// Название браузера.
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
// Возвращать содержимое.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Заголовки для запроса.
$headers = array(
	'Expect:',
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Сообщаем, что это POST-запрос.
curl_setopt($ch, CURLOPT_POST, true);
// Данные POST-запроса.
$post = array(
	'file' => '@/home/izra/file.ext'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

// Получение ответа.
$return = curl_exec($ch);
// Закрытие соединения.
curl_close($ch);
?>

Ads API vkontakte.ru

Vkontakte.ru выпустил в свет API для управления рекламными объявлениями. Конечно, выпустил он его давно, но Ads API до сих пор имеет статус beta.

Документация не особо объемная, но все же немного помогает. При разработке решений на базе их API проблемы возникли сразу же.
Читать полностью →

exit(); vs die();

Почему-то всегда думал, что между die(); и exit(); есть какая-то небольшая разница. Но никогда не думал проверить это. Как оказалось разницы между этими конструкциями нет вообще.

Скорее всего die(); существует для того, чтобы программисты, работающие с Perl могли более легко перейти на PHP.

SSH авторизация по ключу

Для того, чтобы войти на удаленный сервер по ssh без ввода пароля можно создать ключевую пару (публичная и секретная).
Публичную часть можно скопировать на удаленный сервер в файл ~/.ssh/authorized_keys. Причем каждый публичный ключ должен находиться в одной строке.
Читать полностью →

Не работает скайп

SkypeСудя по всему сегодня снова отвалился Skype. По крайней мере на двух моих компах windows сообщил об ошибке в приложении skype.exe и закрыл его.

Узнал у знакомых. У них тоже самое. Скайп не может установить соединение.

После этого невозможно пройти авторизацию.

MySQL. Неизвестная пунктуация.

На днях столкнулся с непонятной ошибкой MySQL. Сервер сообщал, что в запросе на вставку записи (с другими не пробовал) допущена ошибка «Неизвестная пунктуация«.

Ошибка появлялась в тот момент когда вставлялось 2 и более записи и в какой-либо из строк содержится точка с запятой (;). Дамп заливался через консоль, phpmyadmin и Sypex Dumper Lite 1.0.8.

Причина в func_overload библиотеки mbstring. Для корректной работы оно должно быть отключено.

Техподдержка NetByNet. Часть вторая

Только что пришло письмо с о том, что я отправил письмо с сайта.
Кажется, что реально надо им звонить, потому что текст письма оказался следующий:

Здравствуйте!
Это автоматическое письмо, на которое не нужно отвечать. Вашему запросу присвоен уникальный номер заявки %number%.

Ваш запрос будет обработан специалистами в течение 3-х суток.

ВНИМАНИЕ! Не меняйте, пожалуйста, тему(subject) письма.

Спасибо за то, что Вы обратились в службу технической поддержки!

Вы писали:

Техподдержка

Уважаемый куратор формы, посетителем сайта заполнена форма

ipadress:127.0.0.1


Служба технической поддержки компании NETBYNET

Если куратору формы прислано такое мое сообщение, то, кажется мне, что на такое письмо не ответят.

Техподдержка NetByNet

Я наконец-таки перевез свой ноутбук с сайтами на борту на новую квартиру. Но незадача оказалась в том, что у NetByNet закрыт 80-й порт.

Звонить я не очень люблю, поэтому обычно отправляю заявки с сайта. С NetByNet я поступил также. Отправил заявку с просьбой открыть 80-й порт и получил следующее сообщение:

Техподдержка

Спасибо! Запрос получен, в течение 3-х суток Вам будет дан ответ.

Это они как бы сразу сообщают, что работать они не хотят и в ближайшее время не ответят.

Видимо, все-таки придется позвонить.