Daca aveti fisiere in diferite directoare care include un fisier php ce la randul lui include un alt fisier, o problema poate fi calea de includere ce se schimba cand fisierul e inclus din directoare de nivel diferit.
De exemplu, in aceasta structura de fisiere si directoare:
/
- dir1/
  - dir1_2/
      level_2.php

  level_1.php

config.php
index.php
- "level_1.php" (care e in "dir1/") include "config.php".
- "level_2.php" (in "dir1_2/") include "level_1.php".
- "index.php" (in root "/") include "level_1.php".

Dupa cum puteti observa, "level_1.php" este inclus din directorul radacina (in "index") si din "dir1_2/" (in "level_2").
Daca in 'level_1.php' se include "config.php" folosind:
include('../config.php');
Acest cod nu va functiona cand "level_1.php" e inclus in celelalte fisiere.

Problema e, cum sa fie inclus "config.php" in "level_1.php" astfel incat acest fisier sa poata fi accesat /inclus de oriunde.
Am incercat calea absoluta /intreaga la server, folosind:   dirname(__FILE__) (sau: __DIR__ ), dar nu a functionat in Windows.
Cautand pe net ca sa gasesc o solutie adecvata la aceasta problema, am gasit urmatorul cod ce obtine calea relativa la directorul radacina a site-ului ("www/", "public_html/", "httpdocs/"):
$current_path = pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME);
$current_host = pathinfo($_SERVER['REMOTE_ADDR'], PATHINFO_BASENAME);
$the_depth = substr_count( $current_path , '/');

// Seteaza calea relativa la radacina
if($current_host == '127.0.0.1') $pathtoroot = str_repeat('../' , $the_depth-1);
else $pathtoroot = str_repeat ('../' , $the_depth);

echo $pathtoroot;

Am pus acest cod intr-o functie ce returneaza calea relativa din orice director curent la radacina, si problema a fost rezolvata folosind aceasta functie ca sa fie inclus "config.php" in "level_1.php", care poate fi accesat de oriunde.
// returneaza calea relativa din directorul curent la radacina
function getRootPath() {
  $current_path = pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME);
  $current_host = pathinfo($_SERVER['REMOTE_ADDR'], PATHINFO_BASENAME);
  $the_depth = substr_count( $current_path , '/');

  // Seteaza calea relativa la radacina
  if($current_host == '127.0.0.1') $pathtoroot = str_repeat('../' , $the_depth-1);
  else $pathtoroot = str_repeat ('../' , $the_depth);

  return $pathtoroot;
}

// include fisier ce se afla in directorul radacina
include(getRootPath(). 'config.php');

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Calea Relativa la directorul Radacina pt Includeri de oriunde

Last accessed pages

  1. Numerale, Numere in limba engleza - Numerals (31199)
  2. Prezentul continuu - Exercitii si teste incepatori (15824)
  3. Accentul si Pronuntia (14736)
  4. Definire si Utilizare Functii in JS (1982)
  5. Curs HTML gratuit Tutoriale HTML5 (80323)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1585)
  2. Curs HTML gratuit Tutoriale HTML5 (1189)
  3. Curs PHP MySQL, Tutoriale si Scripturi PHP (1140)
  4. Curs si Tutoriale Ajax (1053)
  5. Curs si Tutoriale JavaScript (1047)