WedX - журнал о программировании и компьютерных науках

PHP: file_get_contents не дает мне вывода, который я ожидаю :(

Это мой довольно простой код:

session_name("miz");
session_start();
include_once 'codeFragments/sessions.php';

if(!isset($_SESSION['user']))
{
    header('Location: login.php?e=1');
    exit;
}

//include('simple_html_dom.php');

$homepage = file_get_contents('https://localhost:8888/Ryan/Mart/1/cPanel.php?p=create_member');


echo $homepage;exit;

Проблема в том, что я всегда получаю содержимое страниц login.php вместо содержимого cPanel.php, даже если я вошел в систему.

И когда я попробую это: $homepage = file_get_contents('cPanel.php?p=create_member');

пишет: не удалось открыть поток: Нет такого файла или каталога

Какого черта я делаю неправильно? Я дважды проверил, этот файл находится в том же каталоге, что и файл cPanel.php.

26.03.2015

  • Что с отрицательными голосами? 26.03.2015
  • Я предполагаю, что отрицательные голоса говорят вам RTFM. 26.03.2015
  • Поскольку файл, который вы вызываете, явно возвращает что-то неправильное, нам нужно содержимое этого файла. 26.03.2015
  • @RolandoIsidoro FM не помогает. 26.03.2015
  • Ваш пример показывает: у вас нет плана по всем технологиям, используемым в вашем скрипте (включая PHP). В основном это не проблема, так как это сайт вопросов и ответов. Проблема в том, что ваш пример не показывает: информация, необходимая для решения проблемы. Вот почему -1 26.03.2015
  • @NiettheDarkAbsol помогает в части ошибки Нет такого файла или каталога. Что касается логики, по которой он хочет реализовать ваше право, ваш ответ ниже может оказаться более полезным. 26.03.2015
  • @hek2mgl Предоставляется вся необходимая информация. Все, что требуется, — это некоторый базовый опыт подключения к серверу, чтобы понять. 26.03.2015
  • @NiettheDarkAbsol ... что означает, что у меня нет базового понимания этих технологий? Ok 26.03.2015
  • Роландо, какая часть? Я делал РТФМ. @ hek2mgl, что еще вам может понадобиться для этой простой проблемы? Все, что вам нужно, в значительной степени дано, и Ниет Темный Абсол понял, почему у меня возникла эта проблема. 26.03.2015
  • @hek2mgl hek2mgl Я не сказал «понимание», я сказал «опыт»;) Да, я пытался заставить сервер притворяться мной при доступе к вещам раньше. Это дало мне опыт. 26.03.2015
  • @NiettheDarkAbsol Мне все еще не хватает актуальной информации, но, поскольку вы быстро нашли ответ, вы, вероятно, правы .. ;) 26.03.2015

Ответы:


1

Вы могли войти в систему, но это не вы доступ к "удаленному" файлу; ваш сервер. И ваш сервер не зарегистрирован.

Вместо использования file_get_contents рассмотрите возможность использования cURL (хотя лично я бы сделал все возможное и отправил HTTP-запрос вручную!) и передайте "Cookie: ".session_name()."=".session_id(); в заголовках. По сути, это заставит сервер захватить ваш собственный сеанс, чтобы сохранить предоставленную вами аутентификацию.

26.03.2015
  • Вы можете указать заголовки, используя stream_context_create(). Расширение curl хорошее, да. Однако бывают редкие случаи, когда это действительно необходимо. 26.03.2015
  • У вас есть файл, который на самом деле буквально называется cPanel.php?p=create_member? Не думал :р 26.03.2015
  • Так что у него проблема с частью аргументов, начиная с ?... да? 26.03.2015
  • file_get_contents в локальном файле просто получает содержимое этого файла. Он их вообще не обрабатывает, так что вы просто получите необработанный PHP. Однако вызов с помощью localhost вместо этого приведет к получению результата. 26.03.2015
  • Почему они должны обращаться к этому файлу удаленно, а не перенаправлять в эту часть пользовательской панели? Какой смысл извлекать содержимое этой страницы и отображать его на текущей странице, когда нормальным поведением было бы перенаправление пользователя на нужную страницу? 26.03.2015
  • @Hanky웃Panky В данном случае это не имеет особого смысла. Однако этот ответ можно применить к аналогичным приложениям, где вы можете вызвать удаленный API от имени пользователя. 26.03.2015

  • 2

    хотя я авторизован.

    Я не уверен, если вы действительно.

    Но можно обработать реальный логин через PHP. После этого вы сможете получить доступ к правильным данным.

    Два примера, которые могут быть полезны:

    Использование аутентификации и file_get_contents()

    file_get_contents из URL-адреса, доступный только после входа на веб-сайт

    26.03.2015
  • Да, Ниет Темный Абсол получил это прямо ниже. Спасибо за ответ :) 26.03.2015
  • Новые материалы

    Как создать диаграмму градиентной кисти с помощью D3.js
    Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


    Для любых предложений по сайту: [email protected]