boolean addModify (
mixed $filelist
, string
$add_dir
, string
$remove_dir = ''
)
Cette méthode ajoute des fichiers et des dossiers listés dans le paramètres filelist à la fin de l'archive existante.
Si l'archive n'existe pas, on tentera de la créer. Si un fichier ou un dossier est déjà présent dans l'archive, ils seront ajoutés à la fin de l'archive. Il n'y aura pas de mise à jour des fichiers ou des dossiers existants dans l'archive. Cependant, lors de l'extraction de l'archive, le dernier fichier remplacera le premier. Ce résultat est une non-optimisation de la taille de l'archive. Si un fichier ou un dossier n'existe pas, il sera ignoré.
mixed $filelist - un tableau de noms de fichiers et de dossiers, ou une chaîne avec les noms séparés par un seul espace.
string $add_dir - une chaîne qui contient un chemin à ajouter dans le chemin de chaque élément de la liste.
string $remove_dir - une chaîne qui contient un chemin à enlever du chemin de chaque élément de la liste.
Le chemin indiqué par add_dir sera ajouté au début du chemin de chaque fichier/dossier de la liste. Cependant, il peut être défini comme vide ''. L'ajout d'un chemin est effectué après la suppression d'un chemin. Le chemin ajouté/enlevé permet à l'utilisateur de préparer une archive pour son extraction dans un chemin différent que l'original.
boolean - Returns TRUE on success, FALSE on failure.
Code erreur | Message d'erreur | Raison | Solution |
---|---|---|---|
NULL | "Invalid file list" | L'argument de la fonction n'est pas correctement formatté. | Vérifiez si vous n'avez pas fait d'erreur dans l'argument. |
NULL | "Unable to open in write mode file name " | Les permissons de fichier pour un fichier existant ne permet pas l'écriture ou le fichier est verrouillé. | Vérifiez les permissions et éventuellement les programmes accédant à ce fchier. |
NULL | "Invalid file list" | L'archive est vide ou corrompue. | |
NULL | "File filename does not exist" | Un fichier que vous voulez ajouter à l'archive n'existe pas. | Vérifiez que vous n'avez pas fait d'erreurs dans l'argument de la fonction. |
NULL | "Directory dirname can not be read" | Un dossier ou un fichier que vous voulez ajouter à l'archive n'existe pas ou les permissions en lecture du dossier ne permettent pas l'accès. | Vérifiez que vous n'avez pas fait d'erreurs dans l'argument de la fonction ainsi que dans les permissions. |
NULL | "Unable to open file filename in binary read mode" | Le fichier à ajouter à l'archive ne peut pas être lu. | Vérifiez que vous n'avez pas fait d'erreurs dans l'argument de la fonction ainsi que dans les permissions. |
This function can not be called statically.
Ajout de fichiers dans une archive compressée dans un nouveau dossier
<?php
$tar_object = new Archive_Tar("tarname.tar");
$v_list[0]="dev/file.txt";
$v_list[1]="dev/data/";
$v_list[2]="log/file.log";
$tar_object->addModify($v_list, "install");
// Les fichiers sont stockés dans l'archive sous la forme :
// install/file.txt
// install/data
// install/data/file1.txt
// install/data/... tous les fichiers et sous-dossiers de data/
// install/file.log
?>
Ajout de fichiers dans une archive compressé déplacée dans une nouveau dossier
<?php
$tar_object = new Archive_Tar("tarname.tar");
$v_list[0]="dev/file.txt";
$v_list[1]="dev/data/";
$v_list[2]="log/file.log";
$tar_object->addModify($v_list, "install", "dev");
// Les fichiers sont stockés dans l'archive sous la forme :
// install/file.txt
// install/data
// install/data/file1.txt
// install/data/... tous les fichiers et sous-dossiers de data/
// install/log/file.log
?>
Ajout de fichiers dans une archive compressée déplacée dans un nouveau dossier (tout spécialement pour Windows)
<?php
$tar_object = new Archive_Tar("tarname.tar");
$v_list[0]="d:\\dev\\file.txt";
$v_list[1]="d:\\dev\\data\\";
$v_list[2]="d:\\log\\file.log";
$tar_object->addModify($v_list, "install/temp", "d:\\dev");
// Les fichiers sont stockés dans l'archive sous la forme :
// install/temp/file.txt
// install/temp/data
// install/temp/data/file1.txt
// install/temp/data/... tous les fichiers et sous-dossiers de data/
// install/temp/log/file.log
?>
Pour les systèmes Windows, le format de chemin Windows peut être utilisé. Cependant, si les fichiers utilisent le chemin Windows, le paramètre $remove_dir doit également être dans un format de chemin Windows. Le paramètre $add_dir peut être en format Windows ou Unix.