亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP文件上傳實現上傳到另一臺服務器

2024-09-04 11:44:53
字體:
來源:轉載
供稿:網友

在php中我們如果要上傳到另一臺服務器就需要利用php一個ftp功能,在php中提供了 ftp_connect來連接服務器,然后把我們上傳的數據傳到遠程服務器.

ftp_connect() 函數建立一個新的 FTP 連接,若成功,則返回一個連接標識,否則返回 false.

語法:ftp_connect(host,port,timeout)

host 必需,規定要連接的 FTP 服務器,可以是域名或 IP 地址,后面不應以斜線結尾,前面也不需要用 ftp:// 開頭.

port 可選,規定 FTP 服務器的端口.

timeout 可選,規定該 FTP 服務器的超時時間,默認是 90 秒.

然后在臺式機本地做了個測試,代碼如下:

  1. $ftp_server = "192.168.1.100"
  2. $ftp_user_name = "laohu"
  3. $ftp_user_pass = "123456"
  4. $conn_id = ftp_connect($ftp_serveror die("Couldn't connect to $ftp_server"); 
  5. $file = 'test.txt'
  6. $remote_file = '/test/a.txt';   
  7. // 注意:這里的"/test"指的是ftp根目錄下的test文件夾,而非系統跟目錄下的 test 
  8. $login_result = ftp_login($conn_id$ftp_user_name$ftp_user_pass); 
  9. if (ftp_put($conn_id$remote_file$file, FTP_BINARY)) { 
  10.   echo "文件移動成功"
  11. else { 
  12.   echo "移動失敗"
  13. ftp_close($conn_id); 

運行后,文件移動成功.

要的就是這個效果了,之后用臺式機做程序服務器,上傳附件時全用ftp方法上傳至筆記本上,筆記本ip是105,相應代碼如下:

  1. if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) { 
  2.   $ftp_server = "192.168.1.105"
  3.   $ftp_user_name = "lesley"
  4.   $ftp_user_pass = "123456"
  5.   $conn_id = ftp_connect($ftp_serveror die("Couldn't connect to $ftp_server"); 
  6.   $file = $_FILES['uploadfile']['tmp_name']; 
  7.   $remote_file = '/test/'.$_FILES['uploadfile']['name']; 
  8.   $login_result = ftp_login($conn_id$ftp_user_name$ftp_user_pass); 
  9.  
  10.   if (ftp_put($conn_id$remote_file$file, FTP_BINARY)) { 
  11.     echo "文件:".$_FILES['uploadfile']['name']."上傳成功"
  12.   } else { 
  13.     echo "上傳失敗"
  14.   } 
  15.   ftp_close($conn_id); 

對應的前臺頁面代碼如下:

  1. <form action="uploadfile.php" method="post" enctype="multipart/form-data"> 
  2.   <input type="file" name="uploadfile" id="uploadfile" /> 
  3.   <input type="submit" name="submit" value="submit" /> 
  4. </form> 

運行后確實成功,下面看一個ftp文件上傳類,代碼如下:

  1. <?php   
  2. /**  
  3. * desc:FTP類 
  4. * link:www.49028c.com 
  5. * date:2013/02/24  
  6. */   
  7. class ftp   
  8. {   
  9. public $off;  // 返回操作狀態(成功/失敗)   
  10. public $conn_id;  // FTP連接   
  11.    
  12. /**  
  13. * 方法:FTP連接  
  14. * @FTP_HOST -- FTP主機  
  15. * @FTP_PORT -- 端口  
  16. * @FTP_USER -- 用戶名  
  17. * @FTP_PASS -- 密碼  
  18. */   
  19. function __construct($FTP_HOST,$FTP_PORT,$FTP_USER,$FTP_PASS)   
  20. {   
  21. $this->conn_id = @ftp_connect($FTP_HOST,$FTP_PORTor die("FTP服務器連接失敗");   
  22. @ftp_login($this->conn_id,$FTP_USER,$FTP_PASSor die("FTP服務器登陸失敗");  
  23. @ftp_pasv($this->conn_id,1); // 打開被動模擬   
  24. }   
  25.    
  26. /**  
  27. * 方法:上傳文件  
  28. * @path-- 本地路徑  
  29. * @newpath -- 上傳路徑  
  30. * @type-- 若目標目錄不存在則新建  
  31. */   
  32. function up_file($path,$newpath,$type=true)   
  33. {   
  34. if($type$this->dir_mkdirs($newpath);   
  35. $this->off = @ftp_put($this->conn_id,$newpath,$path,FTP_BINARY);   
  36. if(!$this->off) echo "文件上傳失敗,請檢查權限及路徑是否正確!";   
  37. }   
  38.    
  39. /**  
  40. * 方法:移動文件  
  41. * @path-- 原路徑  
  42. * @newpath -- 新路徑  
  43. * @type-- 若目標目錄不存在則新建  
  44. */   
  45. function move_file($path,$newpath,$type=true)   
  46. {   
  47. if($type$this->dir_mkdirs($newpath);   
  48. $this->off = @ftp_rename($this->conn_id,$path,$newpath);   
  49. if(!$this->off) echo "文件移動失敗,請檢查權限及原路徑是否正確!";   
  50. }   
  51.    
  52. /**  
  53. * 方法:復制文件  
  54. * 說明:由于FTP無復制命令,本方法變通操作為:下載后再上傳到新的路徑  
  55. * @path-- 原路徑  
  56. * @newpath -- 新路徑  
  57. * @type-- 若目標目錄不存在則新建  
  58. */   
  59. function copy_file($path,$newpath,$type=true)   
  60. {   
  61. $downpath = "c:/tmp.dat";   
  62. $this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);// 下載   
  63. if(!$this->off) echo "文件復制失敗,請檢查權限及原路徑是否正確!";   
  64. $this->up_file($downpath,$newpath,$type);   
  65. }   
  66.    
  67. /**  
  68. * 方法:刪除文件  
  69. * @path -- 路徑  
  70. */   
  71. function del_file($path)   
  72. {   
  73. $this->off = @ftp_delete($this->conn_id,$path);   
  74. if(!$this->off) echo "文件刪除失敗,請檢查權限及路徑是否正確!";   
  75. }   
  76.    
  77. /**  
  78. * 方法:生成目錄  
  79. * @path -- 路徑  
  80. */   
  81. function dir_mkdirs($path)   
  82. {   
  83. $path_arr  = explode('/',$path);  // 取目錄數組   
  84. $file_name = array_pop($path_arr);// 彈出文件名   
  85. $path_div  = count($path_arr);// 取層數   
  86.    
  87. foreach($path_arr as $val)// 創建目錄   
  88. {   
  89. if(@ftp_chdir($this->conn_id,$val) == FALSE)   
  90. {   
  91. $tmp = @ftp_mkdir($this->conn_id,$val);   
  92. if($tmp == FALSE)   
  93. {   
  94. echo "目錄創建失敗,請檢查權限及路徑是否正確!";   
  95. exit;   
  96. }   
  97. @ftp_chdir($this->conn_id,$val);   
  98. }   
  99. }   
  100.    
  101. for($i=1;$i<=$path_div;$i++)  // 回退到根   
  102. {   
  103. @ftp_cdup($this->conn_id);   
  104. }   
  105. }   
  106.    
  107. /**  
  108. * 方法:關閉FTP連接  
  109. */   
  110. function close()   
  111. {   
  112. @ftp_close($this->conn_id);   
  113. }   
  114. }   
  115. // class class_ftp end  
  116. ?> 

調用代碼,代碼如下:

  1. <? 
  2. /*** 
  3. * desc:調用示例 
  4. * link:www.49028c.com 
  5. * date:2013/2/24 
  6. */ 
  7. $ftp = new ftp('192.168.0.249',21,'hlj','123456');  // 打開FTP連接  
  8. $ftp->up_file('aa.wav','test/13548957217/bb.wav'); // 上傳文件  
  9. //$ftp->move_file('aaa/aaa.php','aaa.php');// 移動文件  
  10. //$ftp->copy_file('aaa.php','aaa/aaa.php');// 復制文件  
  11. //$ftp->del_file('aaa.php');   // 刪除文件  
  12. $ftp->close(); // 關閉FTP連接  
  13. ?> 

需要注意,在用ftp_put方法時,第四個參數傳送模式,需要用FTP_BINARY(二進制模式),用FTP_ASCII(文本模式)時,圖片能上傳但無法顯示,其他文件重命名、中文亂碼解決、上傳權限控制等,就不在此提及了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
777午夜精品福利在线观看| 亚洲人成欧美中文字幕| 欧美又大又粗又长| 成人网在线免费看| 国产成人午夜视频网址| 日本a级片电影一区二区| 高清亚洲成在人网站天堂| 亚洲人成电影网站色www| 日韩欧美成人区| 国产999视频| 亚洲国产精品网站| 免费av一区二区| 久久精品视频导航| 精品视频在线播放| 亚洲欧美在线免费观看| 日韩一区二区福利| 欧美亚洲日本网站| 国产精品久久久999| 国产一区二区三区毛片| 欧美激情视频在线观看| 日韩精品一二三四区| 亚洲影院污污.| 国产精品免费久久久| 亚洲精品99久久久久中文字幕| 久久色免费在线视频| 欧美老女人性视频| 欧美日韩国产精品专区| 欧美成年人视频网站| 欧美激情亚洲激情| 伊人久久精品视频| 成人精品在线观看| 成人写真视频福利网| 亚洲韩国日本中文字幕| 国产综合久久久久| 中文字幕自拍vr一区二区三区| 深夜福利一区二区| 国产亚洲成av人片在线观看桃| 亚洲综合最新在线| 欧美激情精品久久久久久蜜臀| 亚洲人成网站999久久久综合| 91精品久久久久| 精品久久久久久久久久久久久久| 88xx成人精品| 日韩av在线最新| 日韩在线中文字幕| 亚洲精品国产综合久久| 韩日欧美一区二区| 91中文字幕在线| 国产精品久久婷婷六月丁香| 精品久久久久久国产| 国产精品久久久久久久久久三级| 日韩免费看的电影电视剧大全| www.午夜精品| 欧美最猛黑人xxxx黑人猛叫黄| 欧美日韩中国免费专区在线看| 欧美激情综合色综合啪啪五月| 精品视频中文字幕| 国产精品免费网站| 97视频在线观看播放| 欧美日韩福利在线观看| 国产不卡视频在线| 91精品国产高清久久久久久| 日韩欧美国产成人| 日韩欧美一区二区三区久久| 国产精品美女主播在线观看纯欲| 中文字幕亚洲一区在线观看| 欧美乱大交xxxxx另类电影| 亚洲欧美日韩一区二区三区在线| 97在线免费观看| 亚洲aa中文字幕| 欧美激情女人20p| 久久免费在线观看| 26uuu亚洲国产精品| 久久久精品国产一区二区| 久久777国产线看观看精品| 日本国产欧美一区二区三区| 国产精品亚洲欧美导航| 538国产精品一区二区在线| 欧美日韩国产精品一区二区三区四区| 国产精品av在线| 国产精品香蕉在线观看| 国产97在线|亚洲| 国产日韩欧美夫妻视频在线观看| 成人有码在线播放| 亚洲视频欧洲视频| 亚洲成人免费网站| 亚洲天堂第一页| 欧美野外猛男的大粗鳮| 中文字幕欧美专区| 亚洲视频视频在线| 亚洲精品免费av| 搡老女人一区二区三区视频tv| 亚洲国产精品久久久久| 欧美xxxx18国产| 久久人人爽人人| 亚洲加勒比久久88色综合| 欧洲精品在线视频| 亚洲国产第一页| 久久精品一偷一偷国产| 精品久久在线播放| 欧美日韩国产一中文字不卡| 亚洲激情视频在线播放| 美乳少妇欧美精品| 欧美性猛交xxxx偷拍洗澡| 欧美一级在线播放| 久久视频这里只有精品| 国产精品亚洲精品| 国产精品视频久久久| 中文字幕欧美日韩va免费视频| 亚洲精品91美女久久久久久久| 91久久久久久| 亚洲免费电影一区| 国产精品视频专区| 成人亚洲欧美一区二区三区| 中国日韩欧美久久久久久久久| 国产盗摄xxxx视频xxx69| xxxx欧美18另类的高清| 在线精品91av| 国产激情久久久久| 亚洲欧美精品一区二区| 国模叶桐国产精品一区| www日韩中文字幕在线看| 中文字幕国内精品| 欧美日本中文字幕| 欧美成人剧情片在线观看| 色悠悠国产精品| 亚洲精品aⅴ中文字幕乱码| 日韩在线资源网| 久久久av网站| 中文字幕亚洲精品| 久久99久国产精品黄毛片入口| 韩国福利视频一区| 成人精品一区二区三区电影黑人| 国产精品一区二区三区免费视频| 亚洲色图激情小说| 国产精品视频区| 欧美日韩国产黄| 日韩免费高清在线观看| 日本亚洲欧洲色| 日韩视频欧美视频| 九九热这里只有精品免费看| 亚洲精品视频免费在线观看| 国产成人一区二区三区| 深夜福利一区二区| 日韩av网站电影| 亚洲成人av片在线观看| 欧美日韩中文字幕日韩欧美| 国产精品吊钟奶在线| 国产成人久久久| 欧美一级片久久久久久久| 国产欧美日韩精品丝袜高跟鞋| 亚洲电影免费观看高清完整版| 欧美日韩在线一区| 国产91热爆ts人妖在线| 在线观看日韩www视频免费| 91成人性视频| 成人美女免费网站视频| 欧美亚洲国产视频小说| 亚洲三级黄色在线观看| 日韩二区三区在线| 欧美xxxx综合视频| 高潮白浆女日韩av免费看| 国内外成人免费激情在线视频| 国产精品va在线播放我和闺蜜|