【PHP】phpでファイルのアップロード

php

ファイルのアップロードのシーンって結構ありそうなの定型文のようにメモっておこう。

$filename=$_FILES["image"]["name"];
    
    if(!empty ($filename)){ //
        $ext=substr($filename,-3); //
       if($ext!="jpg" && $ext!="gif"){
           $error["image"]="type";
       }
    }
if(empty ($error)){
        $image=date("YmdHis").$_FILES["image"]["name"];
        move_uploaded_file($_FILES["image"]["tmp_name"],"memberphoto/".$image);
    }

プログラムの流れ

  1. グローバル変数の「$_FILES」で$_FILE[“フォーム名”][“name”]でファイル名を取得する
  2. ファイル名が空じゃなかった場合、「substr」関数で後ろから3文字だけを抜き取る
  3. 拡張子をチェックして「jpg」「gif」以外だったらエラーを出すために$error変数に入れておく。
  4. エラーが無かった場合は、他の人が同じファイル名でアップしないようにdate関数でファイル名に日付をつける
  5. move_upload_file関数でアップロードする。第一引数はアップされた画像の「tmp_name」、第2引数は日付つきの画像ファイル名

といった感じ。よく画像アップロードするとサムネイル画像になったりするような仕様もよくありそうなので、サムネイル画像の作り方は後々。