Archive_Tar::extractModify()

Archive_Tar::extractModify() – Extrait les fichiers dans un nouveau dossier

Synopsis

require_once 'Archive/Tar.php';

boolean extractModify ( string $path , string $remove_path )

Description

Cette méthode extrait tout le contenu de l'archive dans le dossier indiqué par le paramètre path . Lors de l'analyse, les chemins des fichiers ou des dossiers peuvent être modifiés en enlevant le chemin remove_path au début du fichier ou du dossier.

Durant l'extraction d'un fichier : Si le fichier existe déjà, il sera remplacé sans vérification de la dernière date de modification. Si le fichier existe déjà et est protégé en écriture, l'extraction s'arrête. Si un dossier portant le même nom existe déjà, l'extraction s'arrête.

Lors de l'extraction d'un dossier, si un fichier avec le même nom existe déjà, l'extraction s'arrête. Lors de l'extraction d'un fichier/dossier, si le dossier de destination exite et est protégé en écriture, ou bien s'il n'exite pas mais ne peut pas être créé, l'extraction s'arrête. Si après l'extraction, un fichier extrait n'a pas la taille stockée dans l'archive, l'extraction s'arrête.

Parameter

  • string $path - le chemin de destination pour l'extraction.

  • string $remove_path - partie du chemin qui peut être enlevé si présent dans le chemin des fichiers ou des dossiers.

Return value

boolean - Returns TRUE on success, FALSE on failure.

Throws

Possible PEAR_Error values
Code erreur Message d'erreur Raison Solution
NULL " Impossible d'ouvrir l'archive en mode lecture. " Le fichier est verrouillé de façon exclusive par une autre application. Vérifie si d'autres applications travaillent sur le fichier. Ce peut être à cause d'un processus compétitif de la classe Archive_Tar.
NULL " Impossible d'ouvrir l'archive en mode écriture. " Le fichier est verrouilé par une autre application. Vérifie si d'autres applications travaillent sur le fichier. Ce peut être à cause d'un processus compétitif de la classe Archive_Tar.
NULL " Le mode d'extraction mode est invalide. " Erreur d'implémentation Ne doit pas arriver. Si tel est le cas, veuillez faire un rapport de bogue.
NULL " Le dossier name existe déjà en tant que fichier " Un fichier est marqué comme étant un dossier dans l'archive. Peut être une archive corrompue.
NULL " Le fichier portant le nom name existe déjà en tant que dossier. " Un dossier est marqué comme étant un fichier dans l'archive. Peut être une archive corrompue.
NULL " Le fichier portant le nom name existe déjà et est protégé en écriture. " L'archive contient un fichier qui existe déjà dans le dossier de destination et ne peut pas être écrasé. Extraire l'archive dans un dossier vide.
NULL " Impossible de créer le chemin pour name . " Un ou plusieurs dossiers qui doivent être créés ne le peuvent pas dans le dossier de destination. Assurez-vous que le dossier de destination et tous les dossiers à créer ont les permissions suffisantes.
NULL " Impossible de créer le dossier name . " Un dossier ne peut pas être créé dans le dossier de destination. Assurez-vous que le dossier de destination a les permissions suffisantes.
NULL " Erreur lors de l'ouverture de name en mode écriture binaire. " Le fichier ne peut pas être créé. Le fichier est peut être verrouillé.
NULL " Le fichier filename extré n'a pas la taille valide filesize (size attendue). L'archive est peut être corrompue. " Lisez le message. Lisez le message.

Note

This function can not be called statically.

Example

Extrait l'archive compressé dans un nouveau dossier en ignorant l'ancien.


// tarname.tar avec les fichiers :
//   dev/data/file.txt
//   dev/data/log.txt
//   readme.txt

$tar_object = new Archive_Tar("tarname.tar");
$tar_object->extractModify("install", "dev");

// Les fichiers seront extraits ici :
//   install/data/file.txt
//   install/data/log.txt
//   install/readme.txt

Extractio d'une archive compressée dans un nouveau dossier en ignorant l'ancien (tout spécialement sous Windows)


// tarname.tar avec les fichiers :
//   dev/data/file.txt
//   dev/data/log.txt
//   readme.txt

$tar_object = new Archive_Tar("tarname.tar");
$tar_object->extractModify("d:\\install\\temp", "dev");

// Les fichiers seront extraits ici :
//   d:\\install\\temp\\data\\file.txt
//   d:\\install\\temp\\data\\log.txt
Extrait la liste des fichiers (Previous) Liste les fichiers et les dossiers contenus dans une archive (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.