include на файл от друга папка - как ?

crystalline

Registered
имам следния проблем:

в сайта си имам галерия...която май направих прекалено сложна...но все пак:

имам файл bla_gallеry.php, в който искам за да инклудна файла gallery1.php...
ок но този файл се намира в друга папка - folder1

във въпросната папката folder1 имам папка img (където са ми снимките) и файлове gallery1.php и upload1.php (имета разбира се са примерни...) така...аз искам да импортна gallery1.php в bla_gallеry.php (който не е в folder1)..но номера не става..дали защото е в друга папка ? аз пиша ето така:

Код:
   <?php
include('folder1/gallery1.php');
?>

къде бъркам...
така или иначе искам да постигна това - да зарежда gallery1.php от folder1. не бива да местя файла от тази папка...
някакв идеи ? благодаря ви предварително!
 
<?php
include "http://site/folder1/gallery1.php";
?>

И не оставяй празни места и редове пред <?php
 
Здравей!

Трябва да си видиш вътрешния път на самия хост. С http:// - няма да стане.

Срещал съм два варианта, което не изключва други:

Първият пример е от моя хост за файла Х:
/users/abc/public_html/ddd/admin/xxx.php

Вторият вариант от фрий-хоста ми:
home/www/abc/admin/xxx.php

Предполагам, че когато отвориш файл за редакция директно на хоста или пък отвориш някоя от директориите някъде над имената на файловете(файла) трябва да има изписан подобен път. Ако не започва с http://, значи е твоя вътрешен.

А ето и един пример, който беше дал Админ в по-стара тема:

<?
$rootpat=$_SERVER['DOCUMENT_ROOT'].'/root/';
require($rootpat."/load/config.php");
require($rootpat."/load/header.php");
?>

$rootpat е пътя към файловете и не се налага да го преправям независимо самия файл в коя директория се намира.

успех!
 
@sizif няма нужда от това просто започва с ./ и готово за кво да го прави толкова сложно :shock:
 
Абсолютните пътища са гаранция, че няма да ти пробутат случаен файл за включване (макар в конкретния случай проблема да е друг), освен това няма нужда да мислиш "ама това как го бях записал"...
Да не говорим за случаите с рикуйър();

../ - на теб това може и да ти е руут директорията, но съвсем не съм убеден, че на някой от моите хостове ще свърши работа. ;)
 
давам прост пример защо може да не ти работи

имаш папка на име "основна" и в нея един файл "име.php"

в тази папка имаш още една папка "вътрешна"

в папка "вътршна" имаш файл на име "файл.php" със следната информация

.. ..

...

<a href="файл.php">файл</а> когато пуснеш файла така http://име на сайта/основна/вътрешна/файл.php ще се покаже линка и като цъкнеш на него той ще отвори ссъщата страница.

Когато обаче във файла от папката "основна" include("вътрешна/file.php"); Когато заредиш файла http://име на сайта/основна/име.php ще се покаже линка НО като го цъкнеш ще ти изпише, че няма такъв файл защото то търси файл.php вече в папката "основна".

ебати обяснението, по-просто неможах да измисля.
 
Galli каза:
<?php
include "http://site/folder1/gallery1.php";
?>
7
И не оставяй празни места и редове пред <?php
Galli, мерси отново =)) ..но ето го същия код
<?php
include('http://yailata.info/ygallery/yailatagallery.php');
?>

http://yailata.info/ygallery/yailatagallery.php - това е файла, който искам да в ygallery.php (index of /)
при което пиша
<?php
include('http://yailata.info/ygallery/yailatagallery.php');
?>
...а резултата е дледния:
http://yailata.info/ygallery.php
тъй де...не се получи :(

файлът се инклуудва, защото когато погледнах сорса се вижда че са наредени изображенията от yailatagallery.php...не се показват обаче...

аз махнах глави, тела...остана само пхп и цсс

всички папки са ми на 777...това по-скоро по навик вече почнах да го правя...

някакви идеи шо така кофти ?

porostorm и sizif не ви разбрах момчета...ей сега ще ви препрочета пак...
trevata, да пробвах това но резултата е същия... :(
 
Човече,

не!!! е правилно да инклуднваш файл, който се намира на хоста ти чрез урл-адреса му http://

Ако е на друг хост - да, може дори да метнеш променливи чрез ГЕТ и урл-кодиране, но ако го викаш така в локалната мрежа, може да не ти се включи или да се включи само резултата (променливите в основния файл са недостъпни за включения) което веднага ти води до разминаване...


<?
include('http://yailata.info/ygallery/yailatagallery.php');
?>

Виж си пътя на хоста. Не може да го зададеш така... :?

Ето ти една примерна проверка дали си извършил инклуд:

if (!include("http://site/folder1/gallery1.php"))
{
echo "Файлът не е включен!";
}

Погледни си пътищата в инклуднатия файл, те трябва да отговарят на местоположението на файла подлежащ на включване, а не на основния!

Извинявай, ако съм те объркал! Просто когато не се спазват основните правила, нещата може и да се получават на пръв поглед, но изскачат проблеми...

Успех! ;)
 
ок..ясно че пътя не се задава така...а защо в следните два варянта също не се получава:

<?php
include('./folder1/gallery1.php');
?>


<?php
include('../folder1/gallery1.php');
?>

пиша и двата, понеже са и двата ми ги казаха по-назад в темата...

sizif, не е нуждо да се извиняваш...благодаря за обесненията, но в крайна сметка кой код трябва да използвам ? защото с нито един от предпожените дотук не става...т.е. става, инклуудва се, самите снимки не се зареждат...
 
Значи ето какво е ако в folder1/gallery1.php имаш <img src-img/kartinka.jpg> и инклудваш фаила в друг които се намира в папка

folder2/fail.php то тогава няма да търси снимките в папка folder1/img а ще ги търси в folder2/img
 
jooorooo каза:
Значи ето какво е ако в folder1/gallery1.php имаш <img src-img/kartinka.jpg> и инклудваш фаила в друг които се намира в папка

folder2/fail.php то тогава няма да търси снимките в папка folder1/img а ще ги търси в folder2/img

т.е. трябва да сложа папката с изображения в основаната папка...нали тка ?
ок, но в folder1 аз имам ъплоуд скрипт, който нарочно е там..и качва в folder1/img...въпроса е дали ще мога да го пусна да качва в img, в основната папка...
 
Имах предвид пътя до картинките.
Дали не ползваш относителен път, който не е приложим. Говоря за нормалния път, който би използвал и в хтмл. Него си го задаваш съвсем коректно с урл-адреса и н.п.
Просто когато изтегли страницата, браузъра да си знае къде да търси картинките...

Ако имената на картинките са в инклуднатия файл, задай си пътя според местоположението на файла в който ще се включва. Иначе казано, бразура го боли шалтера как образуваш кода, който му подаваш, дали с инклуд или с магия. За него е важно какво вижда в ХТМЛ-а и от какъв адрес е получен този ХТМЛ-документ:

файл за инклуд:
http://1/2/3/file.php

Директория със снимки - 3
http://1/2/3

Основен файл, в който се включва file.php:
http://1/osnoven.php

Връзката ти трябва да е:

<IMG SRC="http://1/2/3/име на снимката">
 
jooorooo каза:
Значи ето какво е ако в folder1/gallery1.php имаш <img src-img/kartinka.jpg> и инклудваш фаила в друг които се намира в папка

folder2/fail.php то тогава няма да търси снимките в папка folder1/img а ще ги търси в folder2/img
баси колко кратко е можело да се каже :oops:
 

Back
Горе