ホームページ  >  記事  >  バックエンド開発  >  PHP公式アカウントの開発時に保存した画像が表示されない場合はどうすればよいですか?

PHP公式アカウントの開発時に保存した画像が表示されない場合はどうすればよいですか?

PHPz
PHPzオリジナル
2023-04-18 09:47:51661ブラウズ

PHP パブリック アカウントを開発するとき、いくつかの問題が頻繁に発生します。よくある問題の 1 つは、画像を保存するときに画像が表示されないことです。この状況は混乱を招くことがよくありますが、どうすれば解決できるのでしょうか?

1. 問題の原因

PHP 公式アカウントの開発では、ユーザーがアップロードした画像を後で使用するためにサーバーに保存する必要がある場合があります。しかし、多くの開発者は画像を保存する際に画像の形式や保存パスを明確に考慮していないため、画像が正しく表示されません。

2. 解決策

  1. 保存パスが正しいことを確認してください

PHP では、通常、file_put_contents() 関数を使用して画像をサーバ。ただし、保存パスが間違っていると画像が正しく表示されません。したがって、写真を保存するときは、保存パスが正しいことを確認する必要があります。

たとえば、画像を Web サイトのルート ディレクトリに保存する場合:

$file = file_get_contents($path);
file_put_contents($_SERVER['DOCUMENT_ROOT'].$url,$file);

ここで、$path は画像の絶対パス、$url は画像の相対パスです。画像を保存します。コードでは、$_SERVER['DOCUMENT_ROOT'] を使用して Web サイトのルート ディレクトリを取得し、ルート ディレクトリと相対パスを連結して完全なパスを作成します。

  1. 画像形式が正しいことを確認してください

画像が正しく表示されない理由は、画像形式が間違っていることが原因である場合があります。 PHP では、getimagesize() 関数を使用して画像の種類を取得し、画像を保存するときに種類に応じて対応する拡張子を設定できます。

たとえば、取得した画像タイプが JPEG の場合、拡張子として .jpg を使用します。

$path = 'example.jpg';
$size = getimagesize($path);
$ext = image_type_to_extension($size[2], false);
$picname = 'test'.$ext;
move_uploaded_file($path, $picname);

コードでは、image_type_to_extension() 関数を使用して画像タイプを拡張子に変換します。 、次に move_uploaded_file() 関数を使用して画像をサーバーに保存します。

  1. 画像にアクセスできることを確認してください

画像が適切に表示されない理由は、画像に適切な権限が設定されていないことが原因である場合があります。画像を保存した後、画像に正常にアクセスできるように、画像に正しいアクセス許可を設定する必要があります。

たとえば、Linux システムでは、chmod() 関数を使用して画像のアクセス許可を設定できます。

$file = 'test.jpg';
chmod($file, 0644);

コードでは、chmod() 関数を使用して画像のアクセス許可を設定します。ファイルを 0644 に変更します。これにより、画像に正しくアクセスできるようになります。

まとめ

PHPパブリックアカウントの開発において、保存した画像が正常に表示できないという問題はよくあります。これを防ぐには、保存パスが正しいこと、画像形式が正しいこと、および画像にアクセスできることを確認する必要があります。この方法でのみ、画像を正常に保存し、その後の使用時に通常どおりアクセスできるようになります。上記の方法が、困っている開発者の助けになれば幸いです。

以上がPHP公式アカウントの開発時に保存した画像が表示されない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。