PHP实现ftp上传文件示例
这篇文章主要介绍了PHP实现ftp上传文件的方法,是非常实用的技巧,需要的朋友可以参考下。
FTP上传是PHP实现的一个常见且非常重要的应用技巧,今天就来与大家分享一下PHP实现FTP上传文件的简单示例。希望对大家的PHP学习能带来一定的帮助。
主要代码如下:
- function make_directory($ftp_stream, $dir){
- // if directory already exists or can be immediately created return true
- if ($this->ftp_is_dir($ftp_stream, $dir) || @ftp_mkdir($ftp_stream, $dir)) return true;
- // otherwise recursively try to make the directory
- if (!$this->make_directory($ftp_stream, dirname($dir))) return false;
- // final step to create the directory
- return ftp_mkdir($ftp_stream, $dir);
- }
- function ftp_is_dir($ftp_stream, $dir){
- // get current directory
- $original_directory = ftp_pwd($ftp_stream);
- // test if you can change directory to $dir
- // suppress errors in case $dir is not a file or not a directory
- if ( @ftp_chdir( $ftp_stream, $dir ) ) {
- // If it is a directory, then change the directory back to the original directory
- ftp_chdir( $ftp_stream, $original_directory );
- return true;
- } else {
- return false;
- }
- }
- $conn = ftp_connect("ftp地址") or die("Could not connect");
- ftp_login($conn,"ftpname","password");
- //利用ftp创建目录
- make_directory($conn,$path);
- //利用ftp选择进入目录
- ftp_chdir($conn,$path);
- //开始上传
- if(ftp_put($conn,$info[0]['savename'],getcwd().$upload->savePath.$info[0]['savename'],FTP_BINARY)){
- unlink(getcwd().$upload->savePath.$info[0]['savename']);
- }
- ftp_close($conn);
- //注意上传端的ftp权限设置
感兴趣的朋友可以测试运行或改写本文所述代码,加深理解的同时可以让代码功能更加完善。