Submitted by nla on
Bonjour,
Quand j'intégre un fichier .zip via un contenu filefield, j'ai besoin qu'il se dezippe tout seul.
J'ai donc créé un module contenant un hook_nodeapi.
Le probleme est que pour traiter le fichier et le dezipper, j'ai besoin des infos de ce fichier (son nom, le fichier en lui même, son extension...).
Pourriez-vous me dire quel variable utiliser pour recupérer ces infos car $file ne me retourne rien. Pour info mon champs fichier se nomme field_flipbook.
Voici ma fonction :
function dezipper_flipbook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'insert':
case 'update':
$destination=file_directory_path()."/html/magazines/";
if ($file = file_save_upload('field_flipbook', $validators, $destination)) {
$zip = new ZipArchive;
$nomfichier=$form_state['values']['html'] = $file->filepath;
if ($zip->open($nomfichier) === TRUE) {
$zip->extractTo('sites/default/files/html/magazines/');
$zip->close();
}
/*On efface le fichier zip d origine */
unlink($nomfichier);
}
break;
}
}
Merci d'avance pour votre aide !
Les infos du fichier se
Permalien Soumis par Numerizen le 23 Juillet, 2010 - 16:19
Les infos du fichier se trouvent dans $node->field_flipbook.
Un petit var_dump($node) rend souvent bien des services.