Apabila membangunkan akaun rasmi PHP, kami sering menghadapi beberapa masalah. Salah satu masalah biasa ialah imej tidak boleh dipaparkan semasa menyimpannya. Keadaan ini sering mengelirukan, jadi bagaimana kita menyelesaikannya?
1. Punca masalah
Dalam pembangunan akaun rasmi PHP, kadangkala kita perlu menyimpan imej yang dimuat naik oleh pengguna pada pelayan untuk kegunaan seterusnya. Walau bagaimanapun, ramai pembangun tidak mengambil kira format dan laluan menyimpan imej dengan jelas semasa menyimpan imej, menyebabkan imej tidak dipaparkan dengan betul.
2. Penyelesaian
Dalam PHP, kami biasanya menggunakan fungsi file_put_contents() untuk menyimpan imej pada pelayan. Walau bagaimanapun, jika laluan menyimpan tidak betul, imej tidak boleh dipaparkan dengan betul. Oleh itu, apabila kita menyimpan gambar, kita mesti mengesahkan bahawa laluan menyimpan adalah betul.
Sebagai contoh, jika kita ingin menyimpan imej dalam direktori akar tapak web:
$file = file_get_contents($path); file_put_contents($_SERVER['DOCUMENT_ROOT'].$url,$file);
Di sini $path ialah laluan mutlak imej dan $url ialah laluan relatif tempat imej disimpan. Dalam kod, kami menggunakan $_SERVER['DOCUMENT_ROOT'] untuk mendapatkan direktori akar tapak web dan menggabungkan direktori akar dan laluan relatif ke dalam laluan yang lengkap.
Kadangkala, punca imej tidak dipaparkan dengan betul adalah kerana format imej tidak betul. Dalam PHP, kita boleh menggunakan fungsi getimagesize() untuk mendapatkan jenis imej, dan apabila menyimpan imej, tetapkan sambungan yang sepadan mengikut jenis.
Sebagai contoh, jika jenis imej yang diperoleh ialah JPEG, gunakan .jpg sebagai sambungan:
$path = 'example.jpg'; $size = getimagesize($path); $ext = image_type_to_extension($size[2], false); $picname = 'test'.$ext; move_uploaded_file($path, $picname);
Dalam kod, kami menggunakan fungsi image_type_to_extension() untuk menukar jenis imej kepada sambungan , dan kemudian gunakan fungsi move_uploaded_file() untuk menyimpan imej pada pelayan.
Kadangkala, sebab imej tidak dipaparkan dengan betul adalah kerana imej tidak mempunyai set kebenaran yang betul. Selepas menyimpan imej, kita perlu menetapkan kebenaran yang betul untuk imej untuk memastikan imej itu boleh diakses secara normal.
Sebagai contoh, di bawah sistem Linux, kita boleh menggunakan fungsi chmod() untuk menetapkan kebenaran untuk gambar:
$file = 'test.jpg'; chmod($file, 0644);
Dalam kod, kami menggunakan fungsi chmod() untuk menetapkan kebenaran fail ke 0644, ini memastikan bahawa imej boleh diakses dengan betul.
Ringkasan
Dalam pembangunan akaun rasmi PHP, adalah masalah biasa bahawa gambar yang disimpan tidak dapat dipaparkan dengan betul. Untuk mengelakkan perkara ini daripada berlaku, kami perlu mengesahkan bahawa laluan simpan adalah betul, format imej adalah betul dan imej boleh diakses. Hanya dengan cara ini kita boleh berjaya menyimpan imej dan mengaksesnya seperti biasa semasa penggunaan berikutnya. Saya harap kaedah di atas dapat membantu pembangun yang memerlukan.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika gambar yang disimpan semasa membangunkan akaun rasmi PHP tidak dipaparkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!