Autor Zpráva
gardener
Profil
Zdravím,mám problém,který jsem tu před několika dny řešil ale nevyřešil,zkouušel jsem bádat ale bezvýlsedně:(

Problém je v tom,že includuji do stránky script,který načítá obsah složky a vypisuje jej do tabulky jako odkazy,pokud texto script spustím přímo v adresáři, kde se nachází soubory= je vše O.K.

Pokud ho includuji do stánky na jiné úrovni logicky nefunguje,neboť hledá soubory na úrovni kde žádné(.doc) nejsou..

Zkoušel jsem to absolutní cestou "http://localhost/blabla"...bezvýsledně

Jak mám docílit toho aby to fungovalo?

Osobně už vážně netuším...

Děkuji za každou radu..

PS:Jediné co funguje je iframe,ale vypadá to jako pěst na oko a navíc si na to nechci zvykat..
Jan Tvrdík
Profil
gardener
Zkus absolutní cestu od root disku.
gardener
Profil
Jo jenže tam si nevím rady jak je to s těmi lomítky..jestli obáceně,či ne?
Jan Tvrdík
Profil
gardener
Předpokládám, že máš windows. Lomítka určitě normální. Např.: "C:/slozka/druha/www"
gardener
Profil
Bohužel,žádný výsledek:
Warning: require(C: mpp\htdocs\otevrena_naruc\web aruc\admin\upload\files exty\vypis.php) [function.require]: failed to open stream: Invalid argument in C:\xampp\htdocs\otevrena_naruc\web\naruc\admin\upload\files\texty\text y.php on line 18
gardener
Profil
a s lomítky obráceně(normálně) to sice nyvpíše warning,načte soubor(includuje) ale nic neprovede,žádná tabulka,žádný výpis..
MaxwellDemon
Profil
relativní cestou od aktuálního adresáře (ve kterým je ten skript, kde to voláš) ... pomocí "../"
gardener
Profil
MaxwellDemon:Nechápu přesně, co máš na mysli?To by vypadalo ale stejně,jako když jsem ho includoval ne?
 <?php require('include/scripts/vypis.php'); ?> 

Napadlo mne,že bych ten skript,vložil přímo do té stránky a nastavil pouze cestu v tom skriptu k tomu procházenému adresáři, jenže to nevím jak ve spojitosti s fcí glob,pro upřesnění přidávám kód:
<?php
$ikona = "../../../../images/ikony/def_text copy.png";
$vystup = "<table width ='300' align='center' border=\"1\">\n";


$counter = 1;
foreach (glob("*.doc") as $filename)
{
    if ($counter == 4)
    {
        $vystup .= "<tr>\n";
    }
    $vystup .= "<td><img src=\"{$ikona}\" width=\"128\" height=\"128\" />\n";
    $vystup .= "<br />\n<a href=\"{$filename}\">$filename</a></td>\n";
    if ($counter == 3)
    {
        $vystup .= "</tr>\n";
    }
    if ($counter == 3)
    {
        $counter = 1;
    }
    else
    {
        $counter++;
    }
}
$vystup .= "</table>\n";

echo $vystup;
?> 

MaxwellDemon
Profil
gardener: nějak asi úplně přesně nechápu, kde je tvůj problém ... include je kus kódu, kterej kompilátor naprosto tupě chňapne a dosadí ho na místo directivy include() ... pak teprve to začne od začátku kompilovat jako jeden kus kódu, jeden script ... takže include má pak stejnou relativní cestu vůči ostatní adresářový stuktuře jako "hlavní" script
gardener
Profil
To je pravda ale problém je následující:
Mám tyto složky (bráno od rootu webu):
1) ./admin/upload/files/texty/vypis.php -- Ve které se nachází .doc dokumenty a hlavně skript pro jejich vypsání do tabulky
2) ./layout.php -- Stránka do které se includují sekce v závislosti na proměnné
3) ./include/content/texty.php --Stránka kterou includuji do stránky "layout php" a ve které bych chtěl includovat to co je uvedeno na prvním místě čili "./admin/upload/files/texty/vypis.php"

Jenže ten výpis.php má tedy pak po includování tendenci načítat soubory z rootu webu a to je právě nežádoucí, potřebuji načítat ze složky ./admin/upload/files/texty/

Snad jsme to popsal trochu srozumitelně..
Vypadá to skoro jako neřešitelný problém:)
Říám si,jestli by nebylo přístě lepší na to využít Mysql?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0