Архив

2017 год

Всего: 73 записи

php curl get location header

Нужно используя CURL просто получить URL перенаправления, но не переходить по нему внутри CURL.

$post_fields=array(
	"field1"=>$value1,
	"field2"=>$value2,
);
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,'https://site.ru/path/');
curl_setopt($curl,CURLOPT_HEADER,1);
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,false);
curl_setopt($curl,CURLOPT_POSTFIELDS,$post_fields);
$res=curl_exec($curl);
curl_close($curl);
preg_match_all('/^Location:(.*)$/mi',$res,$matches);
if(!empty($matches[1])){
	header("Location: ".trim($matches[1][0]),true,301);
}
exit();

php mail восклицательный знак пробел

При отправке писем, используя функцию php mail(), при появлении в сообщении в произвольных на первый взгляд местах символов "! " (восклицательный знак и пробел) — вручную добавить переносы строк:

$crlf="\r\n";
$message.='...text'.$crlf;

Проблема из-за ограничения длины строки (вероятно возможно где-то увеличить этот лимит, но надежнее добавить переносы строк, чтобы избежать проблем при переносе сайта на другой сервер с default настройками).