Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi

  • 9 odgovora
  • 2.880 pregleda

Najnovija ↓

Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 11.08.2005. u 21:51 · pre 258 meseci
izmenjeno 2 puta, poslednji put Psyche 11.08.2005. u 22:40
  1. Psyche11.08.2005. u 22:40zapis iz teksta poruke
  2. Psyche11.08.2005. u 22:39zapis iz teksta poruke
#1
Elem, prepravljala sam neku skriptu citav dan i ostala mi je jos jedna sitnica.

Znaci imam nesto ovako:

Code:

if (ako je u www. mojdomen. com/download]) 
{

              echo "<table>";
              echo "<tr>";
              echo "<td>X</td>";
              echo "<td>Naziv predmeta</td>";
              echo "<td>Broj dokumenata</td>";
              echo "<td>Poslednja izmena</td>";
              echo "</tr>";
}
else
{
echo "";


Potrebna mi je funkcija kojom cu izbeci ispisivanje dva headera.
Ako se nalazim u direktorijumu download treba da mi se kreira tabela koja ce da pocinje sa gore navedenim kodom. Ako pak udjem u poddirektorijum tipa ../download/nesto treba da ostane prazno i onda se dalje ispisuje odredjeni kod - isto header (ali drugaciji i to je mnogo dalje u skripti) i generise se ostatak tabele.

Kako to da resim?

Code:

<?php

if ([red]nesto[/red])
 {

              echo "<table>";
              echo "<tr>";
              echo "<td>X</td>";
              echo "<td>Naziv predmeta</td>";
              echo "<td>Broj dokumenata</td>";
              echo "<td>Poslednja izmena</td>";
              echo "</tr>";
                }
                else
                {
                echo "";
                }
    // variable used to select row background color
    $j = -1;

    // read each element of the directories array
    foreach($directoare as $key => $director) {

        // ignore the parent directory '..' when printing the contents of the root directory
        if (!strcmp($director, "..") && !strcmp($dirpath, ".")) {
            continue;
        }

        // variable used to select row background color
        $j++;

        // array to keep each directory's stats
        $dta = stat($director);

        // the directories are treated this way...
        // except '..' which has a different icon from the other directories
          if (strcmp($director, "..")) {

            echo "<tr bgcolor='".$color[$j%2]."' height='20'>";
            if ($SHOW_ICON) {
                echo "<td ><img src=\"".$imgdir."dir.gif\"></td>";
            }
            echo "<td><a href=\"index.php?dirpath=$dirpath/".str_replace('&', '*', $director)."&order=".$varget['order']."\">[".$director."]</a>";
            if (((time() - $dta[9]) / 1E+5) < $new_period) {
                echo " <span>$msg_new</span>";
            }
            echo "</td>";

                        if ($SHOW_SIZE) {
                echo "<td >[".broj_fajlova($director)."]</span></td>";
            }

                        if ($SHOW_MODIFIED) {
                echo "<td>".date("d.m.y u H:i:s", $dta[9])."</td>";
            }
            echo "</tr>";

                        clearstatcache();

}
                      else
        {
echo "<table>";
              echo "<tr>";
              echo "<td>X</td>";
              echo "<td>Naziv dokumenta</td>";
              echo "<td>Velicina</td>";
              echo "<td>Poslednja izmena</td>";
              echo "</tr>";
?>
...................................
Re: Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 11.08.2005. u 23:22 · pre 258 meseci #2
Ovo je dakle problem:


Po ulasku u dir 'fiziologija" fajlovi se regularno izlistavaju ali imam dva headera.

Ovo je prikaz download direktorijuma u kojem se nalaze svi ovi poddirektorijumu koji sadrze dokumenta za download i u kojem se nalazi sama skripta:
download/index.php
Re: Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 12.08.2005. u 08:58 · pre 258 meseci #3
Prilikom prvog (uslovnog) ispisa headera setujes neki fleg (npr. $is_header_printed = true;) a prilikom drugog ispisa headera prvo proveris da li postoji ovakva promenljiva/fleg setovan na true, pa tek ako ne postoji onda ispises.
Potpis
If Images - Royalty Free and Rights Managed
images
Re: Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 12.08.2005. u 11:32 · pre 258 meseci #4
Mislim da te nisam najbolje razumela. Ovako kako je postavljeno:

Code:

<?php

//zaglavlje tabele koja iscitava sadrzaj roota. U nastavku se generise tabela koja prikazuje direktorijume i njihove atribute

echo "<table>";
echo "<tr>";
echo "<td>X</td>";
echo "<td>Naziv predmeta</td>";
echo "<td>Broj dokumenata</td>";
echo "<td>Poslednja izmena</td>";
echo "</tr>";
            

// variable used to select row background color

$j = -1;


// read each element of the directories array

foreach($directoare as $key => $director)
{



// ignore the parent directory '..' when printing the contents of the root directory

if (!strcmp($director, "..") && !strcmp($dirpath, ".")) 
{
continue;
}


// variable used to select row background color

$j++;



// array to keep each directory's stats

$dta = stat($director);



// the directories are treated this way...
// except '..' which has a different icon from the other directories

if (strcmp($director, "..")) 
{


//izlistavanje i prikaz direktorijuma u root-u dakle: www . mojdomen .com /download / nesto1, www . mojdomen .com /download / nesto2...

echo "<tr>";
echo "<td ><img src=dir.gif\"></td>";
echo "<td><a href=\"index.php?dirpath=$dirpath/".str_replace('&', '*', $director)."&order=".$varget['order']."\">[".$director."]</a>";
if (((time() - $dta[9]) / 1E+5) < $new_period) 
{
 echo $msg_new";
}
echo "</td>";   
echo "<td >[".broj_fajlova($director)."]</td>";                 
echo "<td>".date("d.m.y u H:i:s", $dta[9])."</td>";
echo "</tr>";


clearstatcache();

}




else
 

//zaglavlje tabele koja iscitava sadrzaj poddirektorijuma root-a. U nastavku se generise tabela koja prikazuje fajlove u njima i njihove atribute

       
{
echo "<table>";
echo "<tr>";
echo "<td>X</td>";
echo "<td>Naziv dokumenta</td>";
echo "<td>Velicina</td>";
echo "<td>Poslednja izmena</td>";
echo "</tr>";
?>
<php



//pojedinacni fajlovi dakle: www . mojdomen .com /download / nesto1 / fajl1, www . mojdomen .com /download / nesto1 / fajl2... 

<?php
// read each element of the files array
foreach($fisiere as $key => $file) {

 $j++;

 // array to keep each directory's stats
 $dta = stat($file);

....................
....................

}
?>
</table>


uvek ce se ispisivati headr1, a header2 onda nece nikad posto je prvo na true, jelte.

Ranije mi je header1 bio

Code:


if (strcmp($director, "..")) 
{

OVDE

echo "<tr>";
echo "<td ><img src=dir.gif\"></td>";


ali posto je to ispod uslova foreach, printao se po vise puta na stranici, za onoliko direktorijuma koliko ih ima. Zato moram da ga stavim iznad te funkcije, ali da mu onemogucim da se stampa i u poddirektorijumima.
Re: Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 12.08.2005. u 13:38 · pre 258 meseci #5
Ufff, koliko koda... Pošto sporo čitam ja ću da gunđam ali sam ipak sve pročitao.

Obrati pažnju na linkove koje formiraš...
Code:
index.php?dirpath=$dirpath/".str_replace('&', '*', $director)


Naravno, ovo je deo skripte pa je negde definisana ta promenljiva $dirpath i ima jednu vrednost kada se ispisuje spisak poddirektorijuma tvog roota, a kada se klikne na link nekog poddirektorijuma menja se i $dirpath na novoj stranici (dodaje se ona kosa crta i naziv direktorijuma).

Pa ti je vrednost $dirpath ono po čemu ćeš da granaš prikaz
Code:
if ($dirpath == ROOT_DIR_PATH)
{
   //  printanje root tabele
}
else
{
   //  printanje ako nije root
}
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 12.08.2005. u 15:23 · pre 258 meseci #6
Unela sam ovako, ali nece. Zapravo header1 se onda nikako ne ispisuje pa mi se na ulaznoj stanici ne formira tabela :(


Code:


   if ($dirpath == ROOT_DIR_PATH)
{
                echo "<table class=\"main_table\" cellspacing=\"2\" align=\"center\" cellpadding=\"0\">";
                echo "<tr>";
                echo "<td width=\"20\" align=\"center\" class=\"tab_header_cell\">X</td>";
                echo "<td width=\"360\" align=\"center\" class=\"tab_header_cell\">Naziv predmeta</td>";
                echo "<td width=\"110\" align=\"center\" class=\"tab_header_cell\">Broj dokumenata</td>";
                echo "<td width=\"110\" align=\"center\" class=\"tab_header_cell\">Poslednja izmena</td>";
                echo "</tr>";
}
else
{
  echo "";
}



Inace, skriptu u praksi - originalnu mozete pogledati ovde:

http://stud.usv.ro/~vlad_l/personal/

Ja cu u rootu da imam samo direktorijume - bez fajlova i za to imam jednu tabelu, a u poddirektorijumima iskljucivo fajlove - druga tabela.
Re: Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 12.08.2005. u 15:45 · pre 258 meseci #7
Eh, pa i nije čudo što neće da ti radi. Ne možeš samo da prepišeš kod. Ovo što sam ja krstio sa ROOT_DIR_PATH treba da ti bude vrednost koju $dirpath ima ako se generiše stranica za ispis Roota.

A drugo, obe grane treba da se definiše ispis neke tabele, bilo tabele s direktorijumima ako je u pitanju root stranica, ili tabele sa spiskom fajlova nekog direktorijuma.
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Ako se nalazim u jednom direktorijumu jedan echo, a u poddirektorijumu istog drugi 12.08.2005. u 18:15 · pre 258 meseci #8
Ovo je path za root:
http://www.mojdomen.net/download/index.php?dirpath=.&order=0

Ovo je path za poddirektorijum:
http://www.mojdomen.net/downlo.../BELESKE_I_SKRIPTE&order=0

Sta treba da stavim umesto tog ROOT onda.

Ne mora da ima ispis u obe grane mislim. Dovoljno je da ostavi prazno u drugom slucaju, a tabela ce se kasnije kreirati, u drugoj petlji u nastavku koda.

Code:

 clearstatcache();

}
      else
{
                  echo "<table>";
                  echo "<tr>;
                  echo "<td">X</td>";

itd
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme