Home > Article > Backend Development > What should I do if the picture saved when developing a PHP official account is not displayed?
When developing PHP public accounts, we often encounter some problems. One of the common problems is that the image cannot be displayed when saving it. This situation is often confusing, so how do we solve it?
1. Causes of the problem
In the development of PHP official accounts, sometimes we need to save the images uploaded by users on the server for subsequent use. However, many developers do not consider the format and saving path of the image clearly when saving the image, resulting in the image not being displayed properly.
2. Solution
In PHP, we usually use the file_put_contents() function to save images on the server. However, if the saving path is incorrect, the image cannot be displayed properly. Therefore, when we save pictures, we must confirm that the saving path is correct.
For example, if we want to save the image in the root directory of the website:
$file = file_get_contents($path); file_put_contents($_SERVER['DOCUMENT_ROOT'].$url,$file);
Here $path is the absolute path of the image, and $url is the relative path to store the image. In the code, we use $_SERVER['DOCUMENT_ROOT'] to get the root directory of the website, and concatenate the root directory and the relative path into a complete path.
Sometimes, the reason why the image does not display properly is because the image format is incorrect. In PHP, we can use the getimagesize() function to get the type of image, and when saving the image, set the corresponding extension according to the type.
For example, if the image type obtained is JPEG, use .jpg as the extension:
$path = 'example.jpg'; $size = getimagesize($path); $ext = image_type_to_extension($size[2], false); $picname = 'test'.$ext; move_uploaded_file($path, $picname);
In the code, we use the image_type_to_extension() function to convert the image type into an extension, and then Use the move_uploaded_file() function to save the image on the server.
Sometimes the reason an image doesn't display properly is because the image doesn't have the correct permissions set. After saving the image, we need to set the correct permissions for the image to ensure that the image can be accessed normally.
For example, under Linux system, we can use the chmod() function to set permissions for pictures:
$file = 'test.jpg'; chmod($file, 0644);
In the code, we use the chmod() function to set the permissions of the file to 0644, This ensures that the image can be accessed correctly.
Summary
In the development of PHP public accounts, it is a common problem that the saved pictures cannot be displayed normally. To prevent this from happening, we need to confirm that the save path is correct, the image format is correct, and the image is accessible. Only in this way can we successfully save the image and access it normally during subsequent use. I hope the above methods can help developers in need.
The above is the detailed content of What should I do if the picture saved when developing a PHP official account is not displayed?. For more information, please follow other related articles on the PHP Chinese website!