Laravel環境(PHP)でftp_connectやftp_login時にエラーをキャッチする方法

Laravel環境(PHP)でftp_connectやftp_login時にエラーをキャッチする方法

このページでは「Laravel環境でFTP接続を組み込んだ際に、FTP関連のエラーをキャッチする方法」を紹介してます。

目次

具体的なコード

コントローラ側ではajaxでリクエストを受ける場合を想定してます。(レスポンスはJSON形式)

use ErrorException;
use Exception;

class ftpController extends Controller
{
    public function ftp(Request $request){

        try{
            $ftp_connect = ftp_connect($ftp_address);
        }catch(Exception $e){
            header("Content-Type: application/json; charset=UTF-8");
            $msg = "FTP接続に失敗しました。";
            $res = json_encode($msg, JSON_UNESCAPED_UNICODE);
            echo $res;
            exit;    
        }

        try{
            $ftp_remote = ftp_login($ftp_connect, $ftp_id, $ftp_password);
        }catch(ErrorException $e){
            ftp_close($ftp_connect);
            header("Content-Type: application/json; charset=UTF-8");
            $msg = "FTPログイン認証に失敗しました。";
            $res = json_encode($msg, JSON_UNESCAPED_UNICODE);
            echo $res;
            exit;    
        }

        try{
            ftp_chdir($ftp_connect, $ftp_mst_path);
        }catch(ErrorException $e){
            ftp_close($ftp_connect);
            header("Content-Type: application/json; charset=UTF-8");
            $msg = "FTPサーバー内でchdirに失敗しました";
            $res = json_encode($msg, JSON_UNESCAPED_UNICODE);
            echo $res;
            exit;    
        }
}

以上、参考までFTP接続時に発生する可能性のあるエラーをキャッチする方法になります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

関連広告

コメント

コメントする

目次