【问题标题】:Clueless on how to use fsockopen()不知道如何使用 fsockopen()
【发布时间】:2013-11-27 13:45:40
【问题描述】:

我对 php 很陌生,我正在尝试连接到 ftp 并发布一个表单,该表单有几个文本字段,以及 3 个图像上传,图像将被上传到服务器。我正在使用godaddy,他们不允许ftp_connect,只有fsocketopen(),并且只能在端口80(http)和443(https)上使用。我可以就如何解决这个问题(fsockopen)提供一些建议吗?

我研究过,下面是我得到的,我假设第一部分是服务器,第二部分是端口,所以我假设是 80(因为 godaddy 说只有 2 个端口可用),但最后 3 个是什么? $error_number、$error_string 和最后一部分?

感谢您的宝贵时间。抱歉,如果问题是新手问题。研究了一段时间,还是解决不了。

fsockopen('abc.com', '80', $error_number, $error_string, 30)

<?php
$ftp_user_name='name';
$ftp_user_pass='pass';
$connection = 'server';
$errno='';
$connect= fsockopen("abc.info", 80, $errno, $errstr, 30) or die ("Cannot connect to host");

$login = ftp_login($connect, $ftp_user_name, $ftp_user_pass);


if (!$connect) 
{die ("FTP connection has encountered an error!");}


 //exit;


if (!$login)
{die ("But failed at login Attempted to connect to $connection for user $ftp_user_name....");}


?>

【问题讨论】:

    标签: php ftp


    【解决方案1】:

    冒着听起来自负的风险,请RTM

    来自PHP Docs

    errno
    如果提供,则保存系统级错误号 发生在系统级 connect() 调用中。如果返回的值在 errno 为 0 且函数返回 FALSE,这表明 错误发生在 connect() 调用之前。这很可能是由于 初始化套接字时出现问题。

    errstr
    字符串形式的错误消息。

    timeout
    连接超时,以秒为单位。

    【讨论】:

    • 哈哈,没关系,我确实读过那本手册,我只是不知道它想说什么,哈哈,但我会试试看它是否可以,因为我很迟钝按照说明哈哈
    • errnoerrstr 只是连接不成功时函数返回的标识符。 timeout 是连接失败前等待连接的秒数。
    • 我试过了,但我有 ftp_login(): 提供的资源不是有效的 FTP 缓冲区资源.....我会在我睡觉后再试一次,一直在这几个小时
    • 那是另一个问题。如果您遇到问题,您应该在 SO 上开始另一个问题,并发布相关代码。同时,您可能希望接受此答案,因为它确实回答了您最初的问题。
    猜你喜欢
    • 2013-12-18
    • 2015-03-31
    • 2021-11-21
    • 2019-11-18
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    相关资源
    最近更新 更多