form.php
<span><span>html</span><span>></span><span><span>head</span><span>></span><span><span>meta </span><span>http-equiv</span><span>="content-type"</span><span> content</span><span>="text/html"</span><span> charset</span><span>="utf-8"</span><span>></span><span><span>title</span><span>></span>Upload Image<span></span><span>title</span><span>></span><span></span><span>head</span><span>></span><span><span>body</span><span>></span><span><span>form </span><span>method</span><span>="post"</span><span> action</span><span>="upload.php"</span><span> enctype</span><span>="multipart/form-data"</span><span>></span><span><span>input </span><span>type</span><span>="hidden"</span><span> name</span><span>="MAX_FILE_SEZE"</span><span> value</span><span>="2000000"</span><span>></span><span><span>input </span><span>type</span><span>="file"</span><span> name</span><span>="file"</span><span> value</span><span>="view"</span><span>></span><span><span>input </span><span>type</span><span>="submit"</span><span> value</span><span>="upload"</span><span> name</span><span>="B1"</span><span>></span><span></span><span>form</span><span>></span><span></span><span>body</span><span>></span><span></span><span>html</span><span>></span></span></span></span></span></span></span></span></span></span>
upload.php
<span>php </span><span>include</span>("check.php"); <span>//</span><span> 引入自定义函数文件</span><span>$type</span> = <span>array</span>("jpg", "gif", "bmp", "jpeg", "png"<span>); </span><span>//</span><span> 判断上传文件类型</span><span>$fileext</span> = <span>strtolower</span>(fileext(<span>$_FILES</span>['file']['name'<span>])); </span><span>$uploadfilename</span> = random(8<span>); </span><span>if</span>(<span>in_array</span>(<span>$fileext</span>, <span>$type</span><span>)){ </span><span>$filename</span> = <span>explode</span>(".", <span>$_FILES</span>['file']['name'<span>]); </span><span>if</span>(<span>is_uploaded_file</span>(<span>$_FILES</span>['file']['tmp_name'<span>])){ </span><span>//</span><span> echo $_FILES['file']['tmp_name'];</span><span>$flag</span> = <span>move_uploaded_file</span>(<span>$_FILES</span>['file']['tmp_name'], "/Library/WebServer/Documents/test/".<span>$uploadfilename</span>.".".<span>$fileext</span><span>); </span><span>if</span>(<span>$flag</span><span>){ </span><span>echo</span> "上传成功!"<span>; }</span><span>else</span><span>{ </span><span>echo</span> "Error."<span>; } </span><span>echo</span> "<a>Back</a>"<span>; } }</span>
check.php
<span>php </span><span>header</span>("Content-type:text/html;charset=utf8"<span>); </span><span>//</span><span> 获取文件后缀名函数</span><span>function</span> fileext(<span>$filename</span><span>){ </span><span>$sTemp</span> = <span>strrchr</span>(<span>$filename</span>, "."<span>); </span><span>return</span><span>substr</span>(<span>$sTemp</span>, 1<span>); } </span><span>function</span> fileext2(<span>$filename</span><span>){ </span><span>$sTemp</span> = <span>explode</span>(".", <span>$filename</span><span>); </span><span>return</span><span>$sTemp</span>[<span>count</span>(<span>$sTemp</span>)-1<span>]; } </span><span>//</span><span> 生成随机文件名函数</span><span>function</span> random(<span>$length</span><span>){ </span><span>$captchaSource</span> = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子"<span>; </span><span>$captchaResult</span> = "2015"; <span>//</span><span> 随机数返回值</span><span>$captchaSentry</span> = ""; <span>//</span><span> 随机数中间变量</span><span>for</span>(<span>$i</span>=0;<span>$i</span>$length;<span>$i</span>++<span>){ </span><span>$n</span> = <span>rand</span>(0, 35); <span>#</span><span>strlen($captchaSource));</span><span>if</span>(<span>$n</span> >= 36<span>){ </span><span>$n</span> = 36 + <span>ceil</span>((<span>$n</span>-36)/3) * 3<span>; </span><span>$captchaResult</span> .= <span>substr</span>(<span>$captchaSource</span>, <span>$n</span>, 3<span>); }</span><span>else</span><span>{ </span><span>$captchaResult</span> .= <span>substr</span>(<span>$captchaSource</span>, <span>$n</span>, 1<span>); } } </span><span>return</span><span>$captchaResult</span><span>; } </span>?>
3 つのファイルを 1 つに統合します:
<span>php </span><span>//</span><span> 获取文件后缀名函数</span><span>function</span> fileext(<span>$filename</span><span>){ </span><span>$sTemp</span> = <span>strrchr</span>(<span>$filename</span>, "."<span>); </span><span>return</span><span>substr</span>(<span>$sTemp</span>, 1<span>); } </span><span>function</span> fileext2(<span>$filename</span><span>){ </span><span>$sTemp</span> = <span>explode</span>(".", <span>$filename</span><span>); </span><span>return</span><span>$sTemp</span>[<span>count</span>(<span>$sTemp</span>)-1<span>]; } </span><span>//</span><span> 生成随机文件名函数</span><span>function</span> random(<span>$length</span><span>){ </span><span>$captchaSource</span> = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子"<span>; </span><span>$captchaResult</span> = "2015"; <span>//</span><span> 随机数返回值</span><span>$captchaSentry</span> = ""; <span>//</span><span> 随机数中间变量</span><span>for</span>(<span>$i</span>=0;<span>$i</span>$length;<span>$i</span>++<span>){ </span><span>$n</span> = <span>rand</span>(0, 35); <span>#</span><span>strlen($captchaSource));</span><span>if</span>(<span>$n</span> >= 36<span>){ </span><span>$n</span> = 36 + <span>ceil</span>((<span>$n</span>-36)/3) * 3<span>; </span><span>$captchaResult</span> .= <span>substr</span>(<span>$captchaSource</span>, <span>$n</span>, 3<span>); }</span><span>else</span><span>{ </span><span>$captchaResult</span> .= <span>substr</span>(<span>$captchaSource</span>, <span>$n</span>, 1<span>); } } </span><span>return</span><span>$captchaResult</span><span>; } </span><span>$type</span> = <span>array</span>("jpg", "gif", "bmp", "jpeg", "png"<span>); </span><span>//</span><span> 判断上传文件类型</span><span>$fileext</span> = <span>strtolower</span>(fileext(<span>$_FILES</span>['file']['name'<span>])); </span><span>$uploadfilename</span> = random(8<span>); </span><span>if</span>(<span>in_array</span>(<span>$fileext</span>, <span>$type</span><span>)){ </span><span>$filename</span> = <span>explode</span>(".", <span>$_FILES</span>['file']['name'<span>]); </span><span>if</span>(<span>is_uploaded_file</span>(<span>$_FILES</span>['file']['tmp_name'<span>])){ </span><span>//</span><span> echo $_FILES['file']['tmp_name'];</span><span>$flag</span> = <span>move_uploaded_file</span>(<span>$_FILES</span>['file']['tmp_name'], "/Library/WebServer/Documents/test/".<span>$uploadfilename</span>.".".<span>$fileext</span><span>); </span><span>if</span>(<span>$flag</span><span>){ </span><span>echo</span> "上传成功!"<span>; }</span><span>else</span><span>{ </span><span>echo</span> "Error."<span>; } </span><span>echo</span> "<a>Back</a>"<span>; } } </span>?> <meta http-equiv="content-type" c charset="utf-8"> <title>Upload Image</title>
以上、PHPアップロード関数セットのサフィックス名判定とランダムネーミングを内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。

XSS攻撃を防ぎ、リソースのロードを制限し、ウェブサイトのセキュリティを改善できるため、CSPは重要です。 1.CSPはHTTP応答ヘッダーの一部であり、厳格なポリシーを通じて悪意のある行動を制限します。 2。基本的な使用法は、同じ起源からのロードリソースのみを許可することです。 3.高度な使用法は、特定のドメイン名がスクリプトやスタイルをロードできるようにするなど、より微調整された戦略を設定できます。 4。CSPポリシーをデバッグおよび最適化するには、コンテンツセキュリティポリシーレポートのみのヘッダーを使用します。

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

HTTPSは、HTTPに基づいてセキュリティレイヤーを追加するプロトコルであり、主に暗号化されたデータを介してユーザーのプライバシーとデータセキュリティを保護します。その作業原則には、TLSの握手、証明書の確認、暗号化された通信が含まれます。 HTTPSを実装する場合、証明書管理、パフォーマンスへの影響、および混合コンテンツの問題に注意を払う必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

WebStorm Mac版
便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック



