Задать вопрос
@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 в папке проекта не создается.
  • Вопрос задан
  • 788 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@DimaX
Сходу может быть 2 варианта:

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

и

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

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

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

на

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


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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽