move_uploaded_file avec un réseau low

Petit nouveau ! | 2 Messages

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

Avatar du membre
Mammouth du PHP | 1564 Messages

10 nov. 2022, 17:53

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