Problème : les images se chargent trop lentement
P粉676821490
2023-08-17 22:40:08
<p>J'ai utilisé HTML, Css, Js et Php pour créer un site Web similaire à Craiglist.
Lorsque l'utilisateur clique pour télécharger une image de plus de 1 Mo, la page devient très lente ou échoue (erreur 503). Il n'y a aucun problème avec les images inférieures à 100 Ko. </p>
<ol>
<li>Il existe un formulaire avec une balise d'entrée type=file et une balise img d'aperçu sur une page php. > Pas de problème ici. ≪/li>
<li>Lorsque l'utilisateur clique sur le bouton Soumettre, le formulaire transmet la valeur de la balise d'entrée à une autre page php, qui contient le code de téléchargement. ≪/li>
</ol>
<p>Question : Quelle est la meilleure façon de redimensionner une image avant de la télécharger sur le serveur ?
Comparé à Craigslist, mon site est très lent ou ne parvient pas à télécharger des images.
Comment rendre les téléchargements plus rapides ? </p>
<pre class="brush:php;toolbar:false;">https://www.mimarketa.com/mmMain/mmEnglish/mmPostAd.php?country=US&county=Lewis&state=WA&adCity=All_Cities& ;category=ALL</pre>
<p>J'ai essayé de chercher des réponses ici et sur Google. </p>
<p>PHP Page 1 : saisissez la balise de fichier et la balise d'aperçu de l'image. JS évolue via des méthodes de dessin. </p>
<p>Code de PHP page 2 :</p>
<pre class="brush:php;toolbar:false;">$upload_dir = "mmAdPics/";
$file1 = $upload_dir .
$picUrl1='https://www.mimarketa.com/mmMain/mmEnglish/'.$file1;
$img1 = $_POST['hidden_data1'];
$img1 = str_replace('data:image/png;base64,', '', $img1);
$img1 = str_replace(' ', '+', $img1);
$data1 = base64_decode($img1);
$succès = file_put_contents($file1, $data1);
print $success ? $file1 : 'Impossible de sauvegarder le fichier 1. ';≪/pré>
<p><br /></p>
Veuillez consulter : https://www.php.net/manual/en/book.imagick.php
Plus précisément, redimensionnez l'image. De plus, l'erreur 503 est probablement due à l'expiration du délai d'attente du serveur. Vous pouvez augmenter le délai d'attente côté serveur ou limiter la taille des fichiers téléchargés côté client.