Utilisation d'une Class

Eléphant du PHP | 250 Messages

19 janv. 2011, 16:27

C'est retiré :)

Avec la class FilesystemIterator, peut on remplacer la fonction move_uploaded_file() ?

Parce que sinon, il faudrait que je supprime les fichiers en double, mais ça fait pas très propre, j'en conviens :evil:
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 janv. 2011, 17:59

heu j'ai l'impression qu'il y a du mélange la :)

tu fait un upload d'image suivis du redimensionnement de cette image ?

tu a deux école :
- tu copie le fichier dans ton "espace perso" et la le move_uploaded_file est "obligatoire" pour valider l'upload, c'est juste après cette fonction que tu utilise ta classe de redimensionnement.
- tu utilise le fichier temporaire pour le redimensionnement et c'est ce fichier que tu copier au bon endroit.

dans tous les cas FilesystemIterator permet le parcourt du système de fichier, c'est inutile si tu fait l'upload d'un fichier, c'est utile si veut faire le redimensionnement sur un dossier complet (avec plein de fichier) ;)

pour ce qui est de la gestion de l'unicité du fichier c'est à gérer lors de la copie définitive du fichier (avec uniqid par exemple c'est une bonne idée.


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 250 Messages

19 janv. 2011, 18:34

heu j'ai l'impression qu'il y a du mélange la :)

- tu utilise le fichier temporaire pour le redimensionnement et c'est ce fichier que tu copier au bon endroit.
Oui, c'est ce que je réfléchissais parce que j'ai un soucis de fichier en double, alors j'essaie d'intégrer ma class dans la fonction :
$img_tmp=$_FILES['file']['tmp_name'][$key];
     $unique = md5( uniqid() );
    $thumb = new Image($img_tmp);
    $thumb->width(200);
    $thumb->quality(50);
    move_uploaded_file($thumb->name($unique),$chemin.$thumb->save());
Le tout est dans une boucle, dans le tmp du serveur j'ai plein de 0c82c5177800657c0ac8a764daf0e348.tmp mais j'arrive pas à les uploader avec la class car sans ça marche :roll:

résultat: :evil:

Code : Tout sélectionner

C:\xampplite\htdocs\www\projets\essais\Ajax\upload\imgs/Upload: Penguins.jpg Type: image/jpeg Size: 759.6044921875 Kb Temp file: C:\xampplite\tmp\php1D2A.tmp
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

Eléphant du PHP | 250 Messages

19 janv. 2011, 22:14

Je me réponds à moi même : On peut pas, après application de la class pour redimensionner, il faut supprimer celles qui ont été uploadé.
Pour ce faire, unlik()

Voilà :wink:
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.