PHP实现ftp上传文件示例

这篇文章主要介绍了PHP实现ftp上传文件的方法,是非常实用的技巧,需要的朋友可以参考下。

FTP上传是PHP实现的一个常见且非常重要的应用技巧,今天就来与大家分享一下PHP实现FTP上传文件的简单示例。希望对大家的PHP学习能带来一定的帮助。

主要代码如下:

  1. function make_directory($ftp_stream, $dir){
  2. // if directory already exists or can be immediately created return true
  3. if ($this->ftp_is_dir($ftp_stream, $dir) || @ftp_mkdir($ftp_stream, $dir)) return true;
  4. // otherwise recursively try to make the directory
  5. if (!$this->make_directory($ftp_stream, dirname($dir))) return false;
  6. // final step to create the directory
  7. return ftp_mkdir($ftp_stream, $dir);
  8. }
  9. function ftp_is_dir($ftp_stream, $dir){
  10. // get current directory
  11. $original_directory = ftp_pwd($ftp_stream);
  12. // test if you can change directory to $dir
  13. // suppress errors in case $dir is not a file or not a directory
  14. if ( @ftp_chdir( $ftp_stream, $dir ) ) {
  15. // If it is a directory, then change the directory back to the original directory
  16. ftp_chdir( $ftp_stream, $original_directory );
  17. return true;
  18. } else {
  19. return false;
  20. }
  21. }
  22. $conn = ftp_connect("ftp地址") or die("Could not connect");
  23. ftp_login($conn,"ftpname","password");
  24. //利用ftp创建目录
  25. make_directory($conn,$path);
  26. //利用ftp选择进入目录
  27. ftp_chdir($conn,$path);
  28. //开始上传
  29. if(ftp_put($conn,$info[0]['savename'],getcwd().$upload->savePath.$info[0]['savename'],FTP_BINARY)){
  30. unlink(getcwd().$upload->savePath.$info[0]['savename']);
  31. }
  32. ftp_close($conn);
  33. //注意上传端的ftp权限设置

感兴趣的朋友可以测试运行或改写本文所述代码,加深理解的同时可以让代码功能更加完善。