web-dev-qa-db-fra.com

Où sont créés les fichiers temporaires?

Je veux savoir où Drupal (ou ses modules) créent des fichiers temporaires. Sont-ils placés dans des sites/par défaut?

Je parle surtout de Drupal 6.

12
AgA

Les fichiers sont créés dans le répertoire dont le nom est renvoyé par file_directory_temp () qui renvoie:

  • La valeur de la variable Drupal "file_temporary_path", qui est définie à partir de la page de configuration sur admin/config/media/file-system (Drupal 7) ou admin/settings/file-system (Drupal 6).

  • Si cette variable Drupal n'est pas définie, la fonction vérifie l'un des répertoires suivants; si l'un de ces répertoires existe, il est renvoyé (et utilisé).

    • le répertoire renvoyé par ini_get('upload_tmp_dir')
    • sous Windows, les répertoires "c:\windows\temp" et "c:\winnt\temp".
    • sur des OS différents de Windows, le répertoire "/ tmp".
    • sur PHP version 5.2.1 ou supérieure, le répertoire renvoyé par sys_get_temp_dir().
  • Si la variable "file_temporary_path" n'est pas définie et que les répertoires que j'ai répertoriés au point précédent n'existent pas ou ne sont pas accessibles en écriture, la fonction utilise la valeur de la variable Drupal "file_public_path" ; par défaut, ce répertoire a la valeur conf_path() . '/files' qui est le répertoire "files" contenu dans le répertoire contenant le fichier setting.php utilisé pour le site Drupal.

La fonction a défini la variable "file_temporary_path" dans le répertoire qu'elle a trouvé.

Pour autant que je sache, tout module ouvre des fichiers temporaires en utilisant un chemin commençant par "temporaire: //" (disponible uniquement dans Drupal 7 et plus)) ou utilise file_directory_temp(). Le répertoire renvoyé par file_directory_temp() peut changer de système en système, mais les modules utilisent toujours ce répertoire.

Les modules Drupal n'ont pas la permission d'écrire le répertoire contenant les modules; il est assez difficile qu'un module utilise ce répertoire pour créer des fichiers temporaires. Si vous trouvez un module qui utilise le répertoire contenant les modules (ou n'importe quel sous-répertoire de ce répertoire), signalez-le comme un bogue.

16
kiamlaluno

La page de configuration dans admin/settings/file-system contient les paramètres du répertoire utilisé pour les fichiers temporaires.

Certains modules pouvaient choisir un répertoire différent pour les fichiers temporaires. Il n'y a pas d'emplacement de dossier standard.

Par exemple, le module ctools créera des fichiers en cache temporaires dans le répertoire/sites/default/files/ctools. Cela peut donc varier.

3
chrisjlee