[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: file_get_contents и свойство класса
CJ_Junyor
Всем привет!

Возник вопрос:

Хочу обратиться при помощи функции file_get_contents() к внешнему URL адресу...

Тут все получается

define('URL','blabla.com');
file_get_contents(URL);

Но вот как только хочу сохранить содержимое возвращенное таким запросом в отдельное свойство класса, например ....

$this->content=file_get_contents(URL); 


на отрез отказывается работать ....

при чем, в обычную переменную сохраняет правильно, но вот как только пытаюсь присвоить значение этой переменной свойству класса, то ничего не выходит...

Подскажите пожалуйста, с чем может это быть связано?



Спустя 2 минуты, 30 секунд (3.05.2011 - 17:16) Nikitian написал(а):
Покажите как проверяете что ничего не выходит и сам класс тоже

Спустя 2 минуты, 42 секунды (3.05.2011 - 17:19) CJ_Junyor написал(а):

class CTest{
private $content;
private $url;

function __construct($url){
$this->url=$url;
}
# ввод данных
public function getContent($url){
$this->content=file_get_contents($url);
}

# вывод на экран

public function showContent(){
return $this->content;
}

}

$url='http://blabla.com';

$test=new CTest($url);

echo $test->showContent();

Спустя 17 минут, 21 секунда (3.05.2011 - 17:36) ИНСИ написал(а):
CJ_Junyor попробуй так:

class CTest{
private $content;
private $url;

function __construct($url){
$this->url = $url;
}

# ввод данных
public function getContent($url){
$this->content = file_get_contents($url);
}

# вывод на экран
public function showContent(){
$this->getContent();
return $this->content;
}
}


$url = 'http://blabla.com';
$test = new CTest($url);
echo $test->showContent();


Спустя 1 минута, 20 секунд (3.05.2011 - 17:38) waldicom написал(а):
Цитата (velbox @ 3.05.2011 - 15:36)
# вывод на экран
public function showContent(){
  $this->getContent();
  return $this->content;
}

Почему не
return $this->getContent();
?

Спустя 5 минут, 18 секунд (3.05.2011 - 17:43) CJ_Junyor написал(а):
Поправка ...
загрузка контента после создания экземпляра класса

function __construct($url){

$this->url=$url;
$this->getContent($url);
}


Но результата это не меняет....

интересно еще и другое....

если сделать так:

$post=file_get_contents($url);

$this->content=$post;


то как ни странно, переменная $post - содержит данные, а переменная $this->content ничего не записала (в отладчике пошагово, после этой строки вызывается сразу деструктор класса)

Спустя 4 минуты, 32 секунды (3.05.2011 - 17:48) Snus написал(а):
class CTest{

private $content;

public function __construct($url){
$this->content = file_get_contents($url);
}

# вывод на экран
public function showContent(){
return $this->content;
}
}


$url = 'http://blabla.com';
$test = new CTest($url);
echo $test->showContent();

Спустя 44 минуты, 16 секунд (3.05.2011 - 18:32) ИНСИ написал(а):
уменьшаем дальше :)

class CTest{

private $content;

# вывод на экран
public function showContent($url){
return $this->content = file_get_contents($url);
}
}


$url = 'http://blabla.com';
$test = new CTest();
echo $test->showContent($url);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.