このページでは「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接続時に発生する可能性のあるエラーをキャッチする方法になります。
コメント