2010-07-26 10 views
1

Iam un développeur php, et iam nouveau à drupal.J'ai installé un site drupal.Trouver le chemin du fichier dans drupal

Pour les sites php normaux. nous pouvons trouver le nom du fichier à partir du chemin du navigateur, pour la modification pour par exemple:

url du navigateur: www.mysite.com/test/upload.php

Chemin du fichier: test/upload.php.

pour drupal: http://localhost/mydreamhouse/article/557 Qu'est-ce qu'un chemin de fichier?

pour drupal: http://localhost/mydreamhouse/newslist Qu'est-ce qu'un chemin de fichier?

Existe-t-il un moyen courant de trouver le chemin du fichier dans drupal? Ou quelqu'un peut-il décrire le flux de pages?

Répondre

5

Une URL Drupal ne doit pas correspondre à un fichier, la plupart d'entre eux sont créés dynamiquement à partir d'informations dans la base de données. Voir Understanding Drupal paths pour plus d'informations.

2

Le chemin du fichier est toujours index.php (à l'exception de quelques exceptions comme install.php et cron.php). Vous pouvez désactiver le réglage des URL propres pour mieux comprendre le chemin que vous regardez. Avec les URLs propres activées, il y a une certaine réécriture en cours pour créer une URL sympa. Dans votre cas, http://localhost/mydreamhouse/article/557 est en fait http://localhost/mydreamhouse/index.php?q=article/557. En d'autres termes, le script index.php est appelé, qui à son tour interprétera la variable $_GET['q'] pour servir la bonne page.

0

Comme mentionné dans les autres réponses, il n'y a aucun fichier ou flux de pages. index.php prend les valeurs de $_GET['q'] et appelle les fonctions appropriées pour générer dynamiquement des pages.

Vous pouvez utiliser $_GET['q'] pour accéder à ces parties « de chemin de fichier » de l'URL, mais la façon plus Drupal est d'utiliser arg(), par exemple, avec un chemin de http://localhost/node/5, vous pouvez accéder node avec un appel à arg(0) et 5 avec un appel à arg(1). C'est le moyen Drupaly d'accéder à ces parties de l'URL. Drupal fournit également des fonctions utilitaires pour obtenir le chemin de base.

La fonction L l() met en forme des liens et prend également en charge le chemin de base (vous écrivez simplement des liens relatifs, il ajoute le chemin de base si nécessaire); base_path() retournera le global du même nom; drupal_get_path() prend des arguments supplémentaires spécifiques à Drupal et génère des chemins vers des choses comme des modules et des thèmes avec le chemin de base pris en charge.

Étiez-vous à la recherche de plus d'informations? Précisez votre question à partir de ces réponses, et consultez la documentation de l'API de Drupal: http://api.drupal.org/

0
// path to Drupal dir - don't use $_SERVER['DOCUMENT_ROOT'] - drush commands will fail 
getcwd() 

// path to config folder - e.g. /sites/default/settings.php 
getcwd() . conf_path(); // see conf_path() for details 

// path to config file in module folder 
getcwd() . drupal_get_path('module','configure') . '/config.yaml' 
0
getcwd() . base_path() . $file->filepath 

getcwd() - chemin du serveur à Webroot

base_path() - chemin vers l'application drupal (si l'application dans la racine il sera /)

$file->filepath - tout chemin de fichier (par exemple sites/all/default/files/...)

Questions connexes