PHP はサーバーサイドのスクリプト言語として、Web 開発で広く使用されています。 Web アプリケーションの開発プロセスでは、多くの場合、写真やドキュメントなどのファイルをアップロードする必要があります。 PHP には便利なファイルアップロード機能が用意されていますが、アップロードされたファイルはデフォルトではサーバーの一時ディレクトリに保存されるため、ファイル管理やアプリケーションには不便です。
したがって、多くの Web 開発者は、アップロードされたファイルが指定されたディレクトリに保存されるように、PHP アップロードされたファイルの保存パスを変更する必要があります。この記事では、PHP でアップロードしたファイルの保存パスを変更する方法と、パスを変更する際の注意点を中心に紹介します。
1. PHP のアップロード ディレクトリを設定します
PHP では、アップロードされたファイルを保存するパスは変数 $_FILES['userfile']['tmp_name'] によって制御されます。 ### の。デフォルトでは、この変数は PHP サーバー上の一時アップロード ディレクトリを指します。特定のパスは通常、
/tmp または
/var/tmp です。アップロードされたファイルを指定したディレクトリに保存するには、
upload_tmp_dir 変数を設定して、ファイルのアップロード用のディレクトリ パスを指定する必要があります。
upload_tmp_dir = /path/to/upload/dir upload_max_filesize = 2Mこのうち、upload_max_filesize は、指定されたファイルのアップロードの最大サイズ (バイト単位) です。上記のコードは、アップロードされるファイルの最大サイズが 2M であることを示しています。
関数設定を使用します。
ini_set 関数を使用して、アップロード ディレクトリのパスを動的に設定できます。例:
ini_set('upload_tmp_dir', '/path/to/upload/dir'); ini_set('upload_max_filesize', '2M');これらのコードは、PHP アップロード パスを
/path/to/upload/dir に設定し、アップロードされるファイルの最大サイズを 2M に制限します。
move_uploaded_file を使用して、アップロードされたファイルを指定されたターゲット パスに移動できます。 。
move_uploaded_file この関数は、アップロードされたファイルの一時パスとターゲット パスの 2 つのパラメータを受け入れます。例:
$uploadfile = '/path/to/upload/dir/' . basename($_FILES['userfile']['name']); if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "文件已经被成功上传!"; } else { echo "上传失败!"; }上記のコードは、まずファイルをアップロードするための一時ディレクトリを定義し、
move_uploaded_file 関数を使用して、アップロードされたファイルを指定されたターゲット パスに移動します。これにより、指定したディレクトリに指定したファイル名でファイルを保存することができます。
$_FILES を使用して実現できます。例:
$uploadfile = '/path/to/upload/dir/' . basename($_FILES['userfile']['name']); $allowedExtensions = ['jpg', 'png', 'gif']; $maxSize = 1000000; if (in_array(pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION), $allowedExtensions) && $_FILES['userfile']['size'] <= $maxSize && move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "文件已经被成功上传!"; } else { echo "上传失败!"; }コードでは、アップロードを許可するファイル タイプとファイル サイズを設定し、それに応じてフィルタリングします。アップロードされたファイルの種類とサイズが要件を満たしている場合、指定されたパスに保存されます。 3. 注意事項
以上がPHPでアップロードしたファイルの保存パスを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。