Why there isn't an "ftp_get_contents" function, I don't know. It takes a little work to emulate one, but it's doable.<?phpfunction ftp_get_contents($ftp_stream, $remote_file, $mode, $resume_pos=null){ $pipes=stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP); if($pipes===false) return false; if(!stream_set_blocking($pipes[1], 0)){ fclose($pipes[0]); fclose($pipes[1]); return false; } $fail=false; $data=''; if(is_null($resume_pos)){ $ret=ftp_nb_fget($ftp_stream, $pipes[0], $remote_file, $mode); } else { $ret=ftp_nb_fget($ftp_stream, $pipes[0], $remote_file, $mode, $resume_pos); } while($ret==FTP_MOREDATA){ while(!$fail && !feof($pipes[1])){ $r=fread($pipes[1], 8192); if($r==='') break; if($r===false){ $fail=true; break; } $data.=$r; } $ret=ftp_nb_continue($ftp_stream); } while(!$fail && !feof($pipes[1])){ $r=fread($pipes[1], 8192); if($r==='') break; if($r===false){ $fail=true; break; } $data.=$r; } fclose($pipes[0]); fclose($pipes[1]); if($fail || $ret!=FTP_FINISHED) return false; return $data;}?>Something similar would work to write a ftp_put_contents function, too.