upload multiple et rename

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload multiple et rename

Re: upload multiple et rename

par anti91 » 28 mai 2019, 17:51

super .....

je test cela et je te dis , merci encore

Re: upload multiple et rename

par Saian » 28 mai 2019, 16:19

Oui comme ça le problème c'est qu'un nom de fichier avec des : ça doit pas être autorisé. De plus toutes les images seront surement traitées dans la même seconde donc même nom. Moi je te proposais plutôt d'ajouter une colonne datetime dans la table photo_bien que tu pourras utiliser lors de l'affichage pour l'ajouter après le nom de l'image (format du style 'YmdHis') comme ça par exemple si le fichier photo_1.jpg est modifié la date étant différente, le navigateur comprendra que l'image n'est plus la même et chargera la nouvelle. Sans ça il continuera de t'afficher l'image qui est dans son cache jusqu'à ce que le cache soit nettoyé.

Pour savoir ou reprendre le compteur si l'utilisateur ajoute des images, tu peux faire un SELECT COUNT(*) FROM photo_bien WHERE Id_bien = $idBien et partir de count + 1.

Re: upload multiple et rename

par anti91 » 28 mai 2019, 15:25

bonjour et merci ......

une autre petite question , comment faire si l'utilisateur veut rajouter des photos ? parce que la forcément ça écrase les photos existantes ....

y a t il moyen de récupérer la dernière valeur enregistré , pour redémarré au numéro ou on c"était arrêté ?

merci pour ton aide ....

excuse moi je n'avais pas vu le deuxième message , je pense que je vais faire comme cela avec la date , mais j'ai essayé cela ne fonctionne pas , du coup il ne m'enregistre qu'une seule photo .....

Code : Tout sélectionner

$targetFile = rtrim($targetFolder,'/') . '/' . 'photo_'.date("H:i:s").'.'.$fileParts['extension'];

Re: upload multiple et rename

par Saian » 28 mai 2019, 15:04

Salut, il te suffit juste de modifier $targetFile :
$fileParts = pathinfo($_FILES['upload_file']['name'][$i]);
$targetFile = rtrim($targetFolder,'/') . '/' . 'photo_'.($i + 1).'.'.$fileParts['extension'];

PS : tu risques d'avoir des problèmes de cache si tu modifies les photos. Tu peux du coup soit générer un nom aléatoire, soit enregistrer la date de l'insert dans la table que tu pourras accoler à la suite du chemin de la photo lors de son affichage :
<img src="path/of/image/image.jpg?20190528152110"/>

upload multiple et rename

par anti91 » 28 mai 2019, 14:01

bonjour à tous ,

j'ai donc un script d'upload multiple qui fonctionne et après j'enregistre tout les fichiers uploader dans la base .

pour l'instant j enregistre la photo avec son nom d'origine , je souhaiterais renommer les photos comme ceci : photo_1, photo_2, etc ....

c'est la que je bloque .... merci d'avance pour votre aide :

Code : Tout sélectionner

if(isset($_REQUEST['AddFiles'])){ $dossier_bien = ($result_biens->photo); $targetFolder = $dossier_bien; //Path to the Uploads Folder if (!empty($_FILES)) { for($i=0;$i<count($_FILES['upload_file']['name']);$i++){ $tempFile = $_FILES['upload_file']['tmp_name'][$i]; $targetFile = rtrim($targetFolder,'/') . '/' . $_FILES['upload_file']['name'][$i]; $fileTypes = array('jpeg','jpg','png','gif'); // Allowed File extensions $fileParts = pathinfo($_FILES['upload_file']['name'][$i]); if(isset($fileParts['extension'])){ if (in_array($fileParts['extension'],$fileTypes)) { move_uploaded_file($tempFile,$targetFile); $pdo->exec("INSERT INTO photo_bien (photo_bien, Id_bien) VALUES ('$targetFile','$Id_bien')");