Если вы хотите работать с curl, используйте опции CURLOPT_CUSTOMREQUEST.
См. Пример кода ниже.
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "ftp://192.168.0.129");
curl_setopt($curl, CURLOPT_USERPWD, "sru:sru");
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1) ;
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'CWD /a'); // change directory
curl_exec($curl);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'MLSD'); // get directory list
$ftp_result=curl_exec($curl);
echo $ftp_result;
Возвращает
type=dir;modify=20130319024302; test
test - это подкаталог a.
Я думаю, вам лучше использовать ftp_connect.