@dura228

Почему не создается файл с помощью CURLOPT_COOKIEJAR?

index.php:
<?php

$ch=curl_init("http://home.local/curlTest/cookieTest.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_COOKIE, 'curl_normal_cookie=1; curl_session_cookie=1');
curl_setopt($ch, CURLOPT_COOKIEJAR, "file.txt");
$html=curl_exec($ch);
curl_close($ch);
echo $html;

cookieTest.php:
<?php
$cook=false;
if(isset($_COOKIE['curl_session_cookie']))
{
	$cook=true;
	echo "Сессионная кука есть\r\n";
}
if(isset($_COOKIE['curl_normal_cookie']))
{
	$cook=true;
	echo "Нормальная кука есть\r\n";
}

@setcookie('curl_session_cookie', 1);
@setcookie('curl_normal_cookie', 1);

if($cook)
{
	echo "Есть куки";
}
else echo "Нет куки";

file.txt в папке проекта не создается.
  • Вопрос задан
  • 779 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DimaX
Сходу может быть 2 варианта:

1) на текущей папке не установлены права на запись;

и

2) текущая папка для сохранения куки совсем не та, которую вы ожидаете)) Сам неоднократно сталкивался с этим.

Попробуйте заменить

curl_setopt($ch, CURLOPT_COOKIEJAR, "file.txt");

на

curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__.DIRECTORY_SEPARATOR.'file.txt');


Чтобы файл с кукой наверняка оказался в той же папке, где и скрипт. Не забудьте проверить права на запись на эту папку, конечно же)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы