Masalah: Imej dimuatkan terlalu perlahan
P粉676821490
2023-08-17 22:40:08
<p>Saya menggunakan Html, Css, Js dan Php untuk mencipta tapak web yang serupa dengan craiglist.
Apabila pengguna mengklik untuk memuat naik imej yang lebih besar daripada 1mb, halaman menjadi sangat perlahan atau gagal (ralat 503). Tiada masalah dengan imej yang lebih kecil daripada 100kb. </p>
<ol>
<li>Terdapat borang dengan teg input type=file dan teg img pratonton pada halaman php. > Tiada masalah di sini. </li>
<li>Apabila pengguna mengklik butang serah, borang menghantar nilai teg input ke halaman php lain, yang mengandungi kod muat naik. </li>
</ol>
<p>Soalan: Apakah cara terbaik untuk menskala imej sebelum memuat naik ke pelayan?
Berbanding dengan Craigslist, laman web saya sangat lambat atau gagal memuat naik imej.
Bagaimana untuk membuat muat naik lebih cepat? </p>
<pre class="brush:php;toolbar:false;">https://www.mimarketa.com/mmMain/mmEnglish/mmPostAd.php?country=US&county=Lewis&state=WA&adCity=All_Cities& ;kategori=SEMUA</pra>
<p>Saya cuba mencari di sini dan di Google untuk mendapatkan jawapan. </p>
<p>PHP Halaman 1: Masukkan teg fail dan teg pratonton imej. Skala JS melalui kaedah cabutan. </p>
<p>Kod PHP halaman 2:</p>
<pre class="brush:php;toolbar:false;">$upload_dir = "mmAdPics/";
$file1 = $upload_dir .
$picUrl1='https://www.mimarketa.com/mmMain/mmEnglish/'.$file1;
$img1 = $_POST['data_tersembunyi1'];
$img1 = str_replace('data:image/png;base64,', '', $img1);
$img1 = str_replace(' ', '+', $img1);
$data1 = base64_decode($img1);
$success = file_put_contents($file1, $data1);
print $success ? $file1 : 'Tidak dapat menyimpan fail 1. ';</pre>
<p><br /></p>
Sila lihat: https://www.php.net/manual/ms/book.imagick.php
Secara khusus, ubah saiz imej. Selain itu, ralat 503 berkemungkinan besar disebabkan oleh tamat masa pelayan. Anda boleh meningkatkan tamat masa pada bahagian pelayan, atau mengehadkan saiz fail yang dimuat naik pada bahagian klien.