Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите пожалуйста новичку, вопрос очень легкий
Форумы портала PHP.SU » PHP » Программирование на PHP » Помогите пожалуйста новичку, вопрос очень легкий

Страниц (2): [1] 2 »
 

1. fspro - 13 Апреля, 2011 - 21:30:58 - перейти к сообщению
Добрый вечер!)
Хочу спросить, использую ф-ию include

Пример

<?php
include 'Z:\home\fsproduction.com\www\modules\fs-slider\fs-slider.php';
?>

Использую denwer. Я бы хотел перенести сайт уже на хостинг и не хотелось бы в каждой странице менять адрес Z:\home\fsproduction.com\www на тот который будет стоять там.

Как же исправить?
Может объявить переменную
<?php
$fs_main_link="Z:\home\fsproduction.com\www";
?>

и потом просто сделать так
<?php
include '$fs_main_link\modules\fs-slider\fs-slider.php';
?>

Но почему то не работает( Может не там объявляю? Сразу после <body> это нормально?)
Заранее спасибо!)
P.S: я новичок)
2. molchun201 - 13 Апреля, 2011 - 21:34:25 - перейти к сообщению
пфф, а нах ваще полный путь писать?
читай ман, Сеня Хорошо
3. OrmaJever - 13 Апреля, 2011 - 21:35:43 - перейти к сообщению
fspro пишет:
Может объявить переменную
<?php
$fs_main_link="Z:\home\fsproduction.com\www";
?>

эту переменую обьявил сам php.
$_SERVER['DOCUMENT_ROOT']
4. fspro - 14 Апреля, 2011 - 06:45:08 - перейти к сообщению
Хм) Спасибо за быстрый ответ)
Но я пробывал писать так
<?php
include '\modules\fs-slider\fs-slider.php';
?>
и выводит ошибку (в картинке)
5. DeepVarvar - 14 Апреля, 2011 - 06:56:55 - перейти к сообщению
В операционной системе "макрософаг виндас" работая с PHP пишите не обратные, а прямые слеши в коде.
6. jason_black - 14 Апреля, 2011 - 07:14:43 - перейти к сообщению
Я думаю что не надо писать целый путь. Приведу пример, есть два файла index.php и base.php, которые находятся в папке www/web/project. Надо через include подключить base.php в index.php. Пиши так

Вот и все, зачем переменные.
7. Andruxa - 14 Апреля, 2011 - 07:48:02 - перейти к сообщению
Правильно мыслишь, единственное:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $fs_main_link="fsproduction.com";
  3. ?>
  4.  
  5.  
  6. <?PHP
  7. include ("$fs_main_link\modules\fs-slider\fs-slider.php");
  8. ?>

Сам пользовался таким вариантом, когда нужно было полный путь к ссылкам прописывать/
Ну а вообще сам всегда "инклюдил" без полного пути и проблем никогда не возникало. А зачем тебе именно полный путь указывать, так не работает ?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ("modules/fs-slider/fs-slider.php");
  3. ?>
8. DeepVarvar - 14 Апреля, 2011 - 08:13:17 - перейти к сообщению
DeepVarvar пишет:
В операционной системе "макрософаг виндас" работая с PHP пишите не обратные, а прямые слеши в коде.

уточню еще что прямые слеши нужно указывать при работе с относительными путями, когда интерпретатор работает в режиме модуля Apache или иного сервера.
Полные пути (для *NIX-подобных с прямым слешем, для макрософага с обратным) указываются только при работе в CLI/CGI-режиме.
9. fspro - 14 Апреля, 2011 - 15:57:53 - перейти к сообщению
Спасибо за ответы)

Просто у меня файл index.php
лежит не в корневой папке, а в
Z:\home\fsproduction.com\www\web\development

а fs-slider.php в
Z:\home\fsproduction.com\www\modules\fs-slider\fs-slider.php


Andruxa
<?php
include 'fsproduction.com/modules/fs-slider/fs-slider.php';
include 'fsproduction.com\modules\fs-slider\fs-slider.php';
include '../modules/fs-slider/fs-slider.php';
include 'modules/fs-slider/fs-slider.php';
include 'modules\fs-slider\fs-slider.php';
?>
не работает... Сайт на денвере работает, а fsproduction.com/modules/fs-slid er/fs-slider.php не пашет...

Нужно именно прописывать полный путь
<?php
include 'Z:\home\fsproduction.com\www\modules\fs-slider\fs-slider.php';
?>


<?PHP
$fs_main_link="fsproduction.com";
?>


<?PHP
include ("$fs_main_link\modules\fs-slider\fs-slider.php");
?>
Тоже не работает...
(Добавление)
OrmaJever пишет:
эту переменую обьявил сам php.
$_SERVER['DOCUMENT_ROOT']


А где он находится? в php.ini его нет...
Может он у меня неправильно прописан?
10. OrmaJever - 14 Апреля, 2011 - 16:07:29 - перейти к сообщению
fspro пишет:
А где он находится? в php.ini его нет...
Может он у меня неправильно прописан?

Это индект масива Улыбка
Напишите в скрипте

и увидите путь к директории сайта, а от туда уже писать путь.
(Добавление)
И ещё частенько в популярных движках узнают путь к текущей директории так
PHP:
скопировать код в буфер обмена
  1. echo dirname(__FILE__);

и выведет имя директории где лежит этот файл, а от него уже отталкиватся
11. MrSource - 14 Апреля, 2011 - 21:31:37 - перейти к сообщению
fspro пишет:
Хм) Спасибо за быстрый ответ)
Но я пробывал писать так
<?php
include '\modules\fs-slider\fs-slider.php';
?>
и выводит ошибку (в картинке)


Тут можно(нужно) так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include('./modules/fs-slider/fs-slider.php');
  3. ?>


./ означает "текущая директория"
DeepVarvar пишет:
В операционной системе "макрософаг виндас" работая с PHP пишите не обратные, а прямые слеши в коде.


Не играет роли в php Улыбка Хотя шелл в винде принимает только обратные слэши "\"
В крайнем случае есть волшебная константа DIRECTORY_SEPARATOR
12. fspro - 14 Апреля, 2011 - 21:57:40 - перейти к сообщению
MrSource пишет:
Тут можно(нужно) так:
PHP:
скопировать код в буфер обмена

<?PHP
include('./modules/fs-slider/fs-slider.php');
?>



./ означает "текущая директория"


Тоже не работает...
Warning: include(.\modules\fs-slider\fs-slider.php) [function.include]: failed to open stream: No such file or directory in Z:\home\fsproduction.com\www\web\development\index.php on line 101

Warning: include() [function.include]: Failed opening '.\modules\fs-slider\fs-slider.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\fsproduction.com\www\web\development\index.php on line 101
Z:/home/fsproduction.com/www
(Добавление)
OrmaJever пишет:
Напишите в скрипте
PHP:
скопировать код в буфер обмена

echo $_SERVER['DOCUMENT_ROOT'];


и увидите путь к директории сайта, а от туда уже писать путь.


Спасибо!)
Вот
Z:/home/fsproduction.com/www
(Добавление)
Может причина где то здесь?

Warning: include(.\modules\fs-slider\fs-slider.php) [function.include]: failed to open stream: No such file or directory in Z:\home\fsproduction.com\www\web\development\index.php on line 101

Warning: include() [function.include]: Failed opening '.\modules\fs-slider\fs-slider.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\fsproduction.com\www\web\development\index.php on line 101
13. DeepVarvar - 14 Апреля, 2011 - 22:04:44 - перейти к сообщению
fspro мущина, запакуйте эти 2 файла и сюда в аттач прикрепите.
Через 2 минуты сброшу обратно рабочий вариант, ато вы будете еще неделю мучится.
(Добавление)
c папками со всеми - как у вас вложено, так и запакуйте
14. Fobius - 14 Апреля, 2011 - 22:06:47 - перейти к сообщению
include('modules/fs-slider/fs-slider.php');
15. MrSource - 14 Апреля, 2011 - 22:24:25 - перейти к сообщению
fspro пишет:
Тоже не работает...
Warning: include(.\modules\fs-slider\fs-slider.php) [function.include]: failed to open stream: No such file or directory in Z:\home\fsproduction.com\www\web\development\index.php on line 101

Warning: include() [function.include]: Failed opening '.\modules\fs-slider\fs-slider.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\fsproduction.com\www\web\development\index.php on line 101


Зачем вы слеши / попереворачивали? я же написал как надо:

include('./modules/fs-slider/fs-slider.php');

 

Powered by ExBB FM 1.0 RC1