За последние 24 часа нас посетили 17722 программиста и 1724 робота. Сейчас ищут 1138 программистов ...

file_get_contents вопрос.

Тема в разделе "PHP для новичков", создана пользователем 715kg, 16 апр 2013.

  1. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Здравствуйте. функция гет контента выводит такую ошибку


    Warning: file_get_contents(templates/mobile_version/main.tpl) [function.file-get-contents]: failed to open stream: No such file or directory in /home/www/domains/sytesss.ru/public_html/host/index.php on line 22

    Так как нету файла templates/mobile_version/main.tpl

    Можно ли как нибудь поставить заглушку на данную функцию. Чтобы не выводилась ошибка Warning
    А выводилась надпись отсутствует файл шаблона main.tpl Ну или что то в этом роде?
     
  2. zelenin

    zelenin Активный пользователь

    С нами с:
    5 дек 2012
    Сообщения:
    35
    Симпатии:
    0
    Код (Text):
    1.  
    2. $filename = 'templates/mobile_version/main.tpl';
    3. if (file_exists($filename)) {
    4.     file_get_contents($filename);
    5. } else {
    6.     echo "The file $filename does not exist";
    7. }
     
  3. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    А можно ли функцию сделать? делаю так


    Код (Text):
    1. function content_tpl($main) {
    2.  
    3. if (file_exists($main)) {
    4.     file_get_contents($main);
    5. } else {
    6.     echo "The file $main does not exist";
    7. }
    8.  
    9. }
    Потом пробую подключить

    Код (Text):
    1. $main = content_tpl("templates/".$templates_name."/main.tpl");
    Выводит чистую страницу. Как можно решить? Подскажите пожалуйста?
     
  4. zelenin

    zelenin Активный пользователь

    С нами с:
    5 дек 2012
    Сообщения:
    35
    Симпатии:
    0
    а что должен выводить?
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    Код (Text):
    1. function content_tpl($main) {
    2. if (file_exists($main)) {
    3. echo file_get_contents($main);
    4. } else {
    5. echo "The file $main does not exist";
    6. }
    }
     
  6. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Должен на переменную $main вывести содержимое файла main.tpl или же сообщение о его отсутствие.
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    как бы выводить должно содержимое файла main.tpl
    только я не понял.. на экран содержимое ибо в переменную...?
     
  8. zelenin

    zelenin Активный пользователь

    С нами с:
    5 дек 2012
    Сообщения:
    35
    Симпатии:
    0
    так выведите. пока вы только подключаете файл.

    Добавлено спустя 1 минуту 36 секунд:
    не отвечайте за автора темы. вы же не в курсе его тайных желаний.
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    Код (Text):
    1. function content_tpl($main) {
    2. if (file_exists($main)) {
    3. $main = file_get_contents($main);
    4. } else {
    5. echo "The file $main does not exist";
    6. }
    7. return $main;}
    вот

    Добавлено спустя 57 секунд:
    тут уже все ясно было написано при прочтении всех постов. что - то не так?
     
  10. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Echo не совсем подходит. Выводит тупо HTLM без исполнения.

    Я просто писал скрипт, сделал небольшой шаблонизатор.

    Код (Text):
    1. $main = content_tpl("templates/".$templates_name."/main.tpl"); //Главная страница
    2. $themeurl = 'http://'.$url_host.'/templates/'.$templates_name.'';
    3. $main = str_replace("{THEME}", $themeurl, $main); // шаблонизатор {THEME}
    4.  
    5. if ($do == 'content'){
    6. $all_list_servers = file_get_contents("templates/".$templates_name."/news.tpl");
    7. $main = str_replace("{content}", $all_list_servers, $main);
    8. }
    Вот задумал функцию. Которая бы не выбивала ошибок а писала какого файла нету.

    Добавлено спустя 3 минуты 55 секунд:
    Спасибо огромное о великие кодеры))))))
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    Код (Text):
    1. $main = content_tpl("templates/".$templates_name."/main.tpl"); //Главная страница
    2. $themeurl = 'http://'.$url_host.'/templates/'.$templates_name.'';
    3. $main = str_replace("{THEME}", $themeurl, $main); // шаблонизатор {THEME}
    4.  
    5. if ($do == 'content'){
    6. $all_list_servers = file_get_contents("templates/".$templates_name."/news.tpl");
    7. $main = str_replace("{content}", $all_list_servers, $main);
    8. }
    данный код что выполняет?
     
  12. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Вывод шаблона ))) Если с гет получено что ?di=content он выводит $main и {content} в том месте, где он прописан.
    Я разобрался уже. Все работает. Спасибо огромное)
     
  13. zelenin

    zelenin Активный пользователь

    С нами с:
    5 дек 2012
    Сообщения:
    35
    Симпатии:
    0
    ну как вы смогли убедиться, что-то действительно не так.
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    О.о