Ceci est mon scénario:Besoin d'aide pour le traitement d'un fichier ZIP
- je télécharger un fichier zip
- Vérifiez chaque fichier dans le fichier zip
- Si le fichier = l'image, puis déplacez le fichier à destination !
- si le fichier == l'image, l'image et redimensionne déplacer à destination
I googlé autour et vu des solutions différentes, mais aucun où l'on peut traiter des fichiers avant d'enregistrer eux à la destination finale.
C'est la fonction que je suis arrivé à ce jour:
// Extract zip file and return files in an array.
private function processZip() {
$zip = new ZipArchive;
$tmp_dir = FB_PLUGIN_DIR.'tmp/';
// Extract files to tmp dir
if ($zip->open($this->file['tmp_name']) === TRUE) {
//Check if temp dir exists. If not, create one.
if (!is_dir($tmp_dir)) {
mkdir($tmp_dir, 0700);
}
$zip->extractTo($tmp_dir);
$zip->close();
/* Process extracted files */
foreach(glob($tmp_dir.'*.*') as $filename) {
// Somehow get MIME type here without using 'finfo' and 'mime_content_type'
// I haven't installed PEAR and 'mime_content_type' is decapricated.
}
return '1'; // success
} else {
return "0"; // fail
}
}
Je ne sais pas si je vais dans la bonne direction ici. D'une certaine manière, je pense que je devrais être capable de traiter les fichiers dans la "boucle ZIP".
Est-il possible de lire les fichiers dans le fichier ZIP, de déterminer le type MIME, puis de traiter le fichier? J'ai trouvé cet exemple: http://www.java-samples.com/showtutorial.php?tutorialid=985
Je pense que c'est proche de ce dont j'ai besoin. Mais je ne sais pas quoi modifier.
C'est exactement ce que je fais maintenant. Mais je suis bloqué sur l'obtention des informations sur le fichier (type MIME). Voir mes commentaires dans le code. – Steven