Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 1811|回复: 10
打印 上一主题 下一主题

PHP ftp function 疑问

[复制链接]

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

跳转到指定楼层
1#
发表于 2009-11-8 02:42 AM |只看该作者 |倒序浏览

  1. <?php
  2. $conn_id = ftp_connect("ftp.xxxxxx.com"); // stream
  3. $login_result = ftp_login($conn_id, "xxxxx", "xxxxx"); // connect liao

  4. if(isset($_POST["submit"])){ // post
  5.     ftp_chdir($conn_id , "../httpdocs/product"); // set dir.
  6. $upload = ftp_put($conn_id,  $_FIlE["image"]["tmp_name"], $_FILE["image"]["name"], FTP_BINARY); // upload current ftp

  7. // check upload status
  8. if (!$upload) {
  9.         echo "FTP upload has failed!";
  10.     } else {
  11.         echo "Uploaded $source_file to $ftp_server as $destination_file";
  12.     }
  13. // close the FTP stream
  14. ftp_close($conn_id);

  15. }
  16. ?>
  17. <html>
  18.     <form method="post" enctype="multipart/form-data">
  19.         <input type="file" name="image">
  20.         <input type="submit" value="upload" name="submit">
  21.     </form>
  22.     </html>

复制代码



一直 upload 不到, “FTP upload has failed” , 高手赐教下。




收藏收藏0

13

主题

0

好友

2113

积分

白金长老

Rank: 10

2#
发表于 2009-11-8 03:28 AM |只看该作者
$_FIlE["image"]["tmp_name"],
$_FILE["image"]["name"],
里面有什么???
echo 来看看


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

3#
发表于 2009-11-8 04:49 AM |只看该作者
原帖由 宅男-兜着走 于 2009-11-8 02:42 AM 发表

一直 upload 不到, “FTP upload has failed” , 高手赐教下。


<?php
$conn_id = ftp_connect("ftp.xxxxxx.com"); // stream
$login_result = ftp_login($conn_id, "xxxxx", "xxxxx"); // connect liao

if(isset($_POST["submit"])){ // post
    ftp_chdir($conn_id , "../httpdocs/product"); // set dir.
$upload = ftp_put($conn_id,  $_FIlE["image"]["tmp_name"], $_FILE["image"]["name"], FTP_BINARY); // upload current ftp

// check upload status
if (!$upload) {
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }
// close the FTP stream
ftp_close($conn_id);

}
?>
<html>
    <form method="post" enctype="multipart/form-data">
        <input type="file" name="image">
        <input type="submit" value="upload" name="submit">
    </form>
    </html>





绿色部份應該养成習慣侦测是否有错误
紅色部份兩個参數反了, 而且 remote file 没有正确路径

bool ftp_put    ( resource $ftp_stream   , string
$remote_file
   , string $local_file   , int $mode   [, int $startpos = 0  ]



原帖由 goodday 于 2009-11-8 03:28 AM 发表
$_FIlE["image"]["tmp_name"],
$_FILE["image"]["name"],
里面有什么???
echo 来看看

这是他 html 部份上傳的檔案,不過有笔误,正确的 reserved variable 是 $_FILES

[ 本帖最后由 Super-Tomato 于 2009-11-8 04:53 AM 编辑 ]


回复

使用道具 举报

13

主题

0

好友

2113

积分

白金长老

Rank: 10

4#
发表于 2009-11-8 01:08 PM |只看该作者
<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}

// close the connection
ftp_close($conn_id);
?>

<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
       echo "FTP connection has failed!";
       echo "Attempted to connect to $ftp_server for user $ftp_user_name";
       exit;
   } else {
       echo "Connected to $ftp_server, for user $ftp_user_name";
   }

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// check upload status
if (!$upload) {
       echo "FTP upload has failed!";
   } else {
       echo "Uploaded $source_file to $ftp_server as $destination_file";
   }

// close the FTP stream
ftp_close($conn_id);
?>



刚查到的 官方教材


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

5#
发表于 2009-11-8 01:16 PM |只看该作者
原帖由 Super-Tomato 于 2009-11-8 04:49 AM 发表




   
        
        
   
   




绿色部份應該养成習慣侦测是否有错误
紅色部份兩個参數反了, 而且 remote file 没有正确路径

bool ftp_put    ( resource $ftp_stream   , string ...



中shoot到够力下。 我connect 部分, 跟 chdir 部分已经测试, 是成功的。 只是 put 的部分 不懂做么会这样罢了咯。


回复

使用道具 举报

13

主题

0

好友

2113

积分

白金长老

Rank: 10

6#
发表于 2009-11-8 01:37 PM |只看该作者
没shoot 的味道啦

番茄 是指出 问题



回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

7#
发表于 2009-11-8 02:14 PM |只看该作者
果然是你们说的 $_FILES[] 的问题。眼睛打小鸟。 问题解决。


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

8#
发表于 2009-11-8 03:35 PM |只看该作者
原帖由 goodday 于 2009-11-8 01:08 PM 发表





刚查到的 官方教材



有些寫法可以縮短


//$login_result 以後都沒用到的話, 省下記憶體的宣告和使用, 直接用 or die 停止執行及輸出錯誤
ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die('Invalid ftp username or password.');





原帖由 宅男-兜着走 于 2009-11-8 01:16 PM 发表



中shoot到够力下。 我connect 部分, 跟 chdir 部分已经测试, 是成功的。 只是 put 的部分 不懂做么会这样罢了咯。


仔細的看和養成習慣就容易找出錯誤


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

9#
发表于 2009-11-8 03:52 PM |只看该作者

回复 #8 Super-Tomato 的帖子

问你个问题, 假设我把FTP写成 class 。

现在有 5~6 个图片准备同时Upload。

每 upload 一次 ftp_connect 一次, upload 完成后就挂断。

FTPclass 就 new 多一次然后就 从新ftp_connect, 这样的写法执行速度上会不会比较慢?


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

10#
发表于 2009-11-8 04:05 PM |只看该作者
原帖由 宅男-兜着走 于 2009-11-8 03:52 PM 发表
问你个问题, 假设我把FTP写成 class 。

现在有 5~6 个图片准备同时Upload。

每 upload 一次 ftp_connect 一次, upload 完成后就挂断。

FTPclass 就 new 多一次然后就 从新ftp_connect, 这样的写法 ...



connect 之後當然是連續 upload 啦, 你這樣連了又斷開不就像是脫褲子放屁嗎??
如果是連續 new 多個的話, 也許會超過你的 server max connection 而被拒絕


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-17 09:24 PM , Processed in 0.113921 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部