Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema inclusione file ed uso dirname()

    Ciao a tutti, ho un problema di inclusioni di file PHP.
    Questa è la struttura:

    /
    |
    |_____admin
    | |_____news
    |................|____ pag_news.php
    |
    |______include
    |................|_____news.php
    |
    |
    |______Templates
    |................|______template.php
    |
    |______ index.php

    Per chiarezza scrivo i percorsi:

    /admin/news/pag_news.php
    /include/news.php
    /Templates/template.php
    /index.php


    In pratica devo includere /include/news.php dentro a Templates/template.php. (che poi sarà applicato a pagine di qualunque livello) e nella index in root.

    All'interno di include/news.php devo includere il file admin/news/index.php.
    Anche facendo una ricerca in questo forum, so che esiste una funzione che si chiama dirname() e che opportunamente utilizzata può risolvere i problemi nelle inclusioni multiple. La sto utilizzando per la prima volta.


    Questo è quello che ho fatto io, non funzionante. Vorrei capire dove è l'errore ed utilizzare questa funzione.

    Nella pagina news.php. Ho provato in entrambi i modi:
    Codice PHP:
    <?php include(dirname(__FILE__) .'/'.'pag_news.php'); ?>
    <?php 
    include(dirname(__FILE__) .'/'.'admin/news/pag_news.php'); ?>
    Mentre nella index in root:
    Codice PHP:
     <?php
    include('include/news.php');
    ?>
    Ed infine nella pagina template.php
    Codice PHP:
     <?php
    include('../include/news.php');
    ?>
    Quindi se non ho capito male, nelle pagine che includono la pagina va usato un semplice include con percorso relativo, mentre nella pagina inclusa che contiene l'include la funzione dirname(). (scuaste il giro di parole)
    Qualcuno può gentilmente aiutarmi?

    Grazie a chi risponderà.
    Altro non ci apparìa che il cielo e l'onda Quando il Saturnio sul veloce legno Sospese in alto una cerulea nube
    Sotto cui tutte intenebrarsi l'acque

  2. #2
    Usa sempre la soluzione con dirname(__FILE__) e vedrai che funziona senza problemi.

  3. #3
    Ciao Filippo, grazie per la riposta tempestiva.

    Come tu mi hai suggerito, ho utilizzato dirname() anche per gli altri include, ma sembrerebbe non funzionare.
    Riporto quello che ho modificato:


    In index in root
    Codice PHP:
    <?php
    include(dirname(__FILE__) .'include/news.php');
    ?>
    Nel file news.php:
    Codice PHP:
    <?php include(dirname(__FILE__) .'/'.'admin/news/news_pag.php'); ?> 
    //ho lasciato il percorso completo
    Vedendo che non funziona nel'index, non ho nemmeno provato nel file template.php
    Ma dove sbaglio? I percorsi devono essere relativi alla locazione dove ci si trova e puntare al file interessato?

    Grazie
    Altro non ci apparìa che il cielo e l'onda Quando il Saturnio sul veloce legno Sospese in alto una cerulea nube
    Sotto cui tutte intenebrarsi l'acque

  4. #4
    Nessuno può darmi una mano?
    Grazie
    Altro non ci apparìa che il cielo e l'onda Quando il Saturnio sul veloce legno Sospese in alto una cerulea nube
    Sotto cui tutte intenebrarsi l'acque

  5. #5
    Codice PHP:
    include(dirname(__FILE__) . '/include/news.php'); 

  6. #6
    Grazie dell'l'aiuto filippo.toso, alla fine ho risolto utilizzando $_SERVER[DOCUMENT_ROOT] e concatenando l'include. Un po' scomodo, ma perfettamente funzionante. Con dirname(__FILE__) il percorso restituito includeva troppe dir.

    Grazie.
    Altro non ci apparìa che il cielo e l'onda Quando il Saturnio sul veloce legno Sospese in alto una cerulea nube
    Sotto cui tutte intenebrarsi l'acque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.