Package Flock

Fichiers du package

FichierDescription
flock.php

Gestion de recherche et d'écriture de répertoire ou fichiers

Proposer une amélioration

Liste des constantes

Valeur

  • preg_match(',(online|free)[.]fr$,', isset($_ENV["HTTP_HOST"]) ? $_ENV["HTTP_HOST"] : "")

Package

Liste des fonctions

Cette écriture s’exécute de façon sécurisée en posant un verrou sur le fichier avant sa modification. Les fichiers .gz sont compressés.

boolean ecrire_fichier( string $fichier , string $contenu , boolean $ignorer_echec = false , boolean $truncate = true )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. string $contenu

    Contenu à écrire

  3. boolean $ignorer_echec = false
    • true pour ne pas raler en cas d'erreur
    • false affichera un message si on est webmestre
  4. boolean $truncate = true

    Écriture avec troncation ?

Retour

  • boolean
    • true si l’écriture s’est déroulée sans problème.

Package

Proposer une amélioration
void ecrire_fichier_securise( string $fichier , string $contenu , boolean $ecrire_quand_meme = false , boolean $truncate = true )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. string $contenu

    Contenu à écrire

  3. boolean $ecrire_quand_meme = false
    • true pour ne pas raler en cas d'erreur
    • false affichera un message si on est webmestre
  4. boolean $truncate = true

    Écriture avec troncation ?

Package

Proposer une amélioration
boolean jeune_fichier( string $fichier , integer $n )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. integer $n

    Âge testé, en secondes

Retour

  • boolean
    • true si récent, false sinon

Package

Proposer une amélioration

Décompresse automatiquement les fichiers .gz

boolean lire_fichier( string $fichier , string & $contenu , array $options = array() )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. string & $contenu

    Le contenu du fichier sera placé dans cette variable

  3. array $options = array()

    Options tel que :

    - 'phpcheck' => 'oui' : vérifie qu'on a bien du php

Retour

  • boolean

    true si l'opération a réussie, false sinon.

Package

Proposer une amélioration
boolean lire_fichier_securise( string $fichier , string & $contenu , array $options = array() )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. string & $contenu

    Le contenu du fichier sera placé dans cette variable

  3. array $options = array()

    Options tel que :

    - 'phpcheck' => 'oui' : vérifie qu'on a bien du php

Retour

  • boolean

    true si l'opération a réussie, false sinon.

Utilise

Package

Proposer une amélioration

En cas d'echec retourne un array() vide

array preg_files( string $dir , integer | string $pattern = -1 , integer $maxfiles = 10000 , array $recurs = array() )

Paramètres

  1. string $dir

    Répertoire à parcourir

  2. integer | string $pattern = -1

    Expression régulière pour trouver des fichiers, tel que [.]lock$

  3. integer $maxfiles = 10000

    Nombre de fichiers maximums retournés

  4. array $recurs = array()

    false pour ne pas descendre dans les sous répertoires

Retour

  • array

    Chemins des fichiers trouvés.

Exemples

  • $x = preg_files('ecrire/data/', '[.]lock$');
    // $x array()

Package

Note

  • Attention, afin de conserver la compatibilite avec les repertoires '.plat' si $dir = 'rep/sous_rep_' au lieu de rep/sous_rep/ on scanne rep/ et on applique un pattern ^rep/sous_rep_
Proposer une amélioration

Retourne $base/${subdir}/ si le sous-repertoire peut être crée

string sous_repertoire( string $base , string $subdir = '' , boolean $nobase = false , boolean $tantpis = false )

Paramètres

  1. string $base
    • Chemin du répertoire parent (avec $subdir)
    • sinon chemin du répertoire à créer
  2. string $subdir = ''
    • Nom du sous répertoire à créer,
    • non transmis, $subdir vaut alors ce qui suit le dernier / dans $base
  3. boolean $nobase = false

    true pour ne pas avoir le chemin du parent $base/ dans le retour

  4. boolean $tantpis = false

    true pour ne pas raler en cas de non création du répertoire

Retour

  • string

    Chemin du répertoire créé.

Exemples

  • sous_repertoire(_DIR_CACHE, 'demo');
    sous_repertoire(_DIR_CACHE . '/demo');

Package

Proposer une amélioration

Si opcache est actif et en mode validate_timestamps, le timestamp du fichier ne sera vérifié qu'après une durée en secondes fixée par revalidate_freq.

Il faut donc attendre ce temps là pour être sûr qu'on va bien bénéficier de la recompilation du fichier par l'opcache.

Ne fait rien en dehors de ce cas

void spip_attend_invalidation_opcode_cache( $timestamp = null )

Paramètres

  1. $timestamp = null

Package

Note

  • C'est une config foireuse déconseillée de opcode cache mais malheureusement utilisée par Octave.
Proposer une amélioration

If the opcode cache does not support the invalidation of individual files, the entire cache will be flushed. kudo : http://cgit.drupalcode.org/drupal/commit/?id=be97f50

void spip_clear_opcode_cache( string $filepath )

Paramètres

  1. string $filepath

    The absolute path of the PHP file to invalidate.

Package

Proposer une amélioration
boolean spip_fclose_unlock( string $handle )

Paramètres

  1. string $handle

    Chemin du fichier

Retour

  • boolean

    true si succès, false sinon.

Utilisé par

Package

Proposer une amélioration
string spip_file_get_contents( string $fichier )

Paramètres

  1. string $fichier

    Chemin du fichier

Retour

  • string

    Contenu du fichier

Utilisé par

Package

Proposer une amélioration
Resource spip_fopen_lock( string $fichier , string $mode , string $verrou )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. string $mode

    Mode d'ouverture du fichier (r,w,...)

  3. string $verrou

    Type de verrou (avec _SPIP_LOCK_MODE = 1)

Retour

  • Resource

    Ressource sur le fichier ouvert, sinon false.

Utilisé par

Package

Proposer une amélioration
boolean | void supprimer_fichier( string $fichier , boolean $lock = true )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. boolean $lock = true

    true pour utiliser un verrou

Retour

  • boolean | void
    • true si le fichier n'existe pas
    • false si on n'arrive pas poser le verrou
    • void sinon

Utilisé par

Package

Proposer une amélioration
boolean supprimer_repertoire( string $dir )

Paramètres

  1. string $dir

    Chemin du repertoire

Retour

  • boolean

    Suppression reussie.

Package

Proposer une amélioration