Home  >  Article  >  Backend Development  >  What should I do if the picture saved when developing a PHP official account is not displayed?

What should I do if the picture saved when developing a PHP official account is not displayed?

PHPz
PHPzOriginal
2023-04-18 09:47:51645browse

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

  1. Make sure the saving path is correct

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.

  1. Make sure the image format is correct

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.

  1. Make sure the image is accessible

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn