Pensez à utiliser des emballages ( public://, private://, etc. pour éviter tout conflit de dossier Profitez de Drupal 7 :).)
AyeshK
Je sais que cela fonctionne avec image_style_url (uri) mais je veux le passer à javascript en tant que variable pour un traitement
ultérieur
Réponses:
24
Ces informations sont enregistrées dans le tableau des variables de Drupal. Utilisez la variable_getfonction pour obtenir ces informations en transmettant le nom de la variable correcte:
Emplacement du système de fichiers public :variable_get('file_public_path', conf_path() . '/files');
Emplacement du système de fichiers privé :variable_get('file_private_path');
Si vous souhaitez utiliser le répertoire de téléchargement temporaire variable_get('file_temporary_path');Si vous souhaitez déterminer le répertoire de téléchargement spécifique au système, quelle que soit la configuration réelle du site, utilisez la file_directory_tempfonction.
variable_get('file_public_path', conf_path() . '/files'); tirera le chemin par défaut pour vous au cas où il n'aurait pas été modifié ou explicitement défini par l'administrateur du site.
hmm dans mon cas variable_get ('file_public_path') est vide ... dois-je l'appeler dans un hook ou plus?
Jurudocs
1
@Jurudocs Utilisez ceci à la place: variable_get('file_public_path', conf_path() . '/files');Fondamentalement, il tire le chemin par défaut pour vous au cas où il n'aurait pas été modifié ou explicitement défini par l'administrateur du site.
9ee1
@zhilevan Vérifiez vos autorisations de fichier sur ce répertoire.
Atomox
Cela ne donne que le chemin relatif qui semble moins utile que le chemin absolu. J'aime la drupal_realpathsolution ci-dessous. Semble plus légitime.
Alex Finnarn
11
Pour obtenir les chemins absolus du système de fichiers, utilisez drupal_realpath(API Drupal) au lieu de file_create_url:
drupal_realpath('public://');// returns e.g. /var/www/drupal/sites/default/files
drupal_realpath('private://');// returns e.g. /var/www/drupal/sites/default/files_private
public://
,private://
, etc. pour éviter tout conflit de dossier Profitez de Drupal 7 :).)Réponses:
Ces informations sont enregistrées dans le tableau des variables de Drupal. Utilisez la
variable_get
fonction pour obtenir ces informations en transmettant le nom de la variable correcte:variable_get('file_public_path', conf_path() . '/files');
variable_get('file_private_path');
Si vous souhaitez utiliser le répertoire de téléchargement temporaire
variable_get('file_temporary_path');
Si vous souhaitez déterminer le répertoire de téléchargement spécifique au système, quelle que soit la configuration réelle du site, utilisez lafile_directory_temp
fonction.variable_get('file_public_path', conf_path() . '/files');
tirera le chemin par défaut pour vous au cas où il n'aurait pas été modifié ou explicitement défini par l'administrateur du site.la source
variable_get('file_public_path', conf_path() . '/files');
Fondamentalement, il tire le chemin par défaut pour vous au cas où il n'aurait pas été modifié ou explicitement défini par l'administrateur du site.drupal_realpath
solution ci-dessous. Semble plus légitime.Pour obtenir les chemins absolus du système de fichiers, utilisez
drupal_realpath
(API Drupal) au lieu defile_create_url
:la source
Vous pouvez également utiliser ces fonctions pour obtenir une URL valide à partir d'un uri relatif:
Ils renvoient le chemin vers les dossiers publics ou privés.
la source