PHP_PHP チュートリアルで画像形式を決定する 7 つの方法のまとめ
php を使用してファイル画像の形式を決定します
$imgurl = "http://www.jb51.net/images/ logo.gif";
/ /方法 1
echo $ext = strrchr($imgurl,'.');
echo '
';
//方法 2
echo $ext1 = substr($imgurl,strrpos ($imgurl, '.' ));
echo '
';
//メソッド 3
echo(@end(explode(".",$imgurl))); ;
//方法 4
echo pathinfo($imgurl,PATHINFO_EXTENSION);
echo '
';
//方法 5
$imginfo= getimagesize($imgurl);
print_r($imginfo);
echo '
'
$imghttp = get_headers($imghttp); '
';
//メソッド 7
echo exif_imagetype($imgurl);
テスト結果:
最初の考え方は、画像パスを扱うことです。画像形式を文字列として検索して判断します。
方法 1: strrchr を使用する

strrchr() 関数は、別の文字列内で最後に出現した文字列を検索し、その位置から文字列の末尾までのすべての文字を返します。
失敗した場合は false を返し、それ以外の場合は false を返します。注: この関数はバイナリセーフです。
方法 2: strrpos
strrpos() 関数は、別の文字列内で最後に出現した文字列を検索します。
成功した場合は位置を返し、それ以外の場合は false を返します。
注: この関数では大文字と小文字が区別されます。大文字と小文字を区別しない検索の場合は、strripos() を使用します。
まず . 記号の位置を計算し、次に substr を使用して文字列をインターセプトします
方法 3: 文字列を配列に分解し、配列の最後のキー値を取得します
—————— ———————— ——————————–
2 番目のアイデアは、画像パスをファイル パスとして扱うことです。その場合、ここで gd ライブラリ関数または php ファイル関数が必要になります
方法 4: pathinfo() を使用する
pathinfo(path, options) 関数は、次の配列要素を含む配列
の形式でファイル パス情報を返します:
[dirname]
[basename]
[extension]
オプションパラメータ:
オプション。返される配列要素を指定します。デフォルトはすべてです。
可能な値:
PATHINFO_DIRNAME – ディレクトリ名のみを返します
PATHINFO_BASENAME – ベース名のみを返します
PATHINFO_EXTENSION – 拡張子のみを返します
メソッド 5: 画像サイズ形式を取得する getimagesize メソッド。これは gd クラス ライブラリ関数ではありません
このメソッドこれは非常に古典的なもので、画像形式を決定するだけでなく、画像の長さと幅の情報を取得するためにも使用できます
方法 6: get_headers で http ヘッダー情報を取得します
画像パスが標準の URL パスの場合、 http ヘッダー情報
Header を返すことができる get_header 関数を使用できます。さらに、このメソッドは画像ファイルの URL が有効な URL かどうかを判断することもできます。使用方法は「PHP が有効な URL かどうかを判断するためのいくつかのメソッド」を参照してください。リモート URL は有効です。」
方法 7: gd クラス ライブラリ関数を使用する
exif_imagetype () は、画像の最初のバイトを読み取り、その署名を確認します。
適切な署名が見つかった場合は対応する定数を返し、それ以外の場合は FALSE を返します。戻り値は getimagesize() によって返される配列のインデックス 2 と同じですが、この関数の方がはるかに高速です。
返される定数値: 対応する値 たとえば、この例では 1 が返され、これは gif 形式の画像に対応します。
総合評価
現在使用されている主流の方法は方法 1 です。セキュリティ上の問題を考慮する場合は、方法 5 を使用できます。方法 5 は、ファイルが画像ファイルであるかどうかを判断できるため (誰かによる不正アクセスを回避できます)、違法なプログラムをイメージファイルに偽造する)。
http://www.bkjia.com/PHPjc/327399.html

www.bkjia.com
true
http://www.bkjia.com/PHPjc/327399.html
技術記事

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
