move_uploaded_file avec un réseau low

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 : move_uploaded_file avec un réseau low

Re: move_uploaded_file avec un réseau low

par two3d » 10 nov. 2022, 17:53

Soit demander aux utilisateurs de réduire leur photos
Soit augmenter le temps de traitement PHP : max_execution_time

move_uploaded_file avec un réseau low

par JediDev » 08 nov. 2022, 23:24

Bonjour la communauté,

J'ai besoin de vos lumières.
J'ai développé pour une société une web application permettant de réaliser des observations au champ (sur Pomme de terre) avec leur smartphone.
Dans cette web application, ils ont la possibilité de prendre des photos et de les lier à la parcelle notée.

Le soucis est que lorsque qu'ils se retrouve dans une zone avec un réseau GSM faible, la photo ne se charge pas correctement avec mon traitement et elle n'est pas sauvegardée en BDD.

Je pense qu'il faut que je temporise (asyn...) le temps de laisser la photo se charger, mais comment ? Merci de votre aide.

if (isset($_FILES['file'])) {
// Récupération du nombre de phot déjà présente sur la parcelle (tab_photo)
$reqSql = 'SELECT * FROM tab_photos WHERE idParcelle = ' . $_SESSION['GT_idParcelle'];
$listePhotos = Request($db, $reqSql);
$nPhoto = $listePhotos[0]->nbrePhoto;
$nPhoto = $nPhoto + 1;
// Mise à jour de la table tab_photo
$reqSql = 'UPDATE tab_photos SET nbrePhoto = ? WHERE idParcelle = ' . $_SESSION['GT_idParcelle'];
$query = $db->prepare($reqSql);
$query->execute([$nPhoto]);

// Récupération du pays lié au producteur
$reqSql = 'SELECT * FROM tab_producteurs WHERE idProducteur = ' . $_SESSION['GT_idProducteur'];
$listePaysProducteur = Request($db, $reqSql);

$tmpName = $_FILES['file']['tmp_name'];
#$name = $_SESSION['GT_idParcelle'] . '_' . $nPhoto . ' _' . $_SESSION['GT_nomClient'] . '_' . $_SESSION['GT_nomProducteur'] . '_' . $_SESSION['GT_nomVariete'] . '.jpg';
$name = $_SESSION['GT_nomVariete'] . '_' . $listePaysProducteur[0]->pays . '_' . $_SESSION['GT_nomClient'] . '_' . $_SESSION['GT_nomProducteur'] . '_' . $_SESSION['GT_idParcelle'] . '_' . $nPhoto . '.jpg';
move_uploaded_file($tmpName, $path . $name);

//Mise à jour de la table tab_photos_liste
$reqSql = 'INSERT INTO tab_photos_liste (idParcelle, nomPhoto, datePhoto) VALUES (?,?,?)';
$query = $db->prepare($reqSql);
$nouvelleParcelle = $query->execute([$_SESSION['GT_idParcelle'], $name, date('d-m-Y')]);
}

Merci d'avance