For those who dont want to deal with handling the connection once created, here is a simple class that allows you to call any ftp function as if it were an extended method. It automatically puts the ftp connection into the first argument slot (as all ftp functions require).
This code is php 5.3+<?php
classftp{
public $conn;
public function __construct($url){$this->conn= ftp_connect($url);
}
public function__call($func,$a){
if(strstr($func,'ftp_') !== false&&function_exists($func)){array_unshift($a,$this->conn);
returncall_user_func_array($func,$a);
}else{die("$func is not a valid FTP function");
}
}
}$ftp= new ftp('ftp.example.com');
$ftp->ftp_loguin('username','password');
var_dump($ftp->ftp_nlist());
?>