PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのmove_uploaded_file()関数とは?使い方とサンプルコードを解説

move_uploaded_file()関数は、PHPでファイルアップロードを扱う際に使用される標準的な関数の一つです。アップロードされた一時ファイルを、指定した新しい場所へ移動する役割を担います。なお、移動先に同じ名前のファイルがすでに存在する場合は、既存のファイルが上書きされる点に注意してください。

また、この関数は内部的に「そのファイルが本当にHTTP POSTによるアップロードかどうか」を検証してくれるため、悪意あるパスの指定を防ぐセキュリティ面でも重要な役割を果たします。

構文

move_uploaded_file(file_path, moved_path)

パラメータ

  • file_path − 移動対象となるファイルのパス。通常は $_FILES 配列に格納されている一時ファイル名(tmp_name)を指定します。

  • moved_path − ファイルの移動先となるパスを指定します。

戻り値

move_uploaded_file()関数は、処理が成功した場合にtrueを返し、失敗した場合にはfalseを返します。

使用例

<?php
   if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/documents/new/")) {
      print "Uploaded successfully!";
   } else {
      print "Upload failed!";
   }
?>

出力結果

Upload failed!PHP Notice: Undefined index: userfile in /home/cg/root/8944881/main.php on line 2

出力結果の解説

この例では、実際には何もファイルがアップロードされていないため、$_FILES['userfile'] というインデックスが存在せず、「Undefined index(未定義のインデックス)」という通知とともに関数がfalseを返しています。

実際にファイルアップロードを機能させるには、HTML側のフォームに enctype="multipart/form-data" を正しく指定し、ファイルがサーバーへ送信されていることを事前に確認することが大切です。

  1. PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説

    PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用

  2. PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説

    PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。構文(Syntax)copy(source_file, dest_file)パラメータsource_file − コピー元となるファイルを指定します。dest_file − コピー先のファイルパスを指定します。戻り値(Return値)copy()関数は、処理結果に応じて以下のブール値