通过PHP的cURL将文件上传到FTP,错误,因为密码包含’<'字
发布时间:2020-12-13 17:40:50 所属栏目:PHP教程 来源:网络整理
导读:我一直在使用一段漂亮的 PHP代码通过cURL将文件上传到FTP. 它一直很好,直到今天. 当我执行它时,它返回一个卷曲错误#3 解释错误:CURLE_URL_MALFORMAT(3):URL格式不正确. 我认为这是因为密码包含特殊字符. 密码包含’' 例如R3lHK2A9.1 此代码适用于以往密码
我一直在使用一段漂亮的
PHP代码通过cURL将文件上传到FTP.
它一直很好,直到今天. 当我执行它时,它返回一个卷曲错误#3 我尝试使用escapeshellarg(),urlencode()和escapeshellcmd()来获取密码….徒劳无功.我错过了什么吗? 你能帮忙吗? <?php $ch = curl_init(); $localfile = “test.tar”; $fp = fopen($localfile,‘r’); curl_setopt($ch,CURLOPT_URL,‘ftp://username:password@ftp.domain.com/public_html/filesfromscript/’.$localfile); curl_setopt($ch,CURLOPT_UPLOAD,1); curl_setopt($ch,CURLOPT_INFILE,$fp); curl_setopt($ch,CURLOPT_INFILESIZE,filesize($localfile)); curl_exec ($ch); $error_no = curl_errno($ch); curl_close ($ch); if ($error_no == 0) { $message = ‘File uploaded successfully.’; } else { $message = “File upload error: $error_no. Error codes explained here http://curl.haxx.se/libcurl/c/libcurl-errors.html”; } echo $message; ?> 解决方法
尝试使用CURLOPT_USERPWD选项设置身份验证凭据,而不是在URL中传递.
例如. curl_setopt($ch,'ftp://ftp.domain.com/public_html/filesfromscript/'.$localfile); curl_setopt($ch,CURLOPT_USERPWD,'username:pass<word'); 另外(从here开始)您可以尝试对auth凭证进行百分比编码: $username = 'username'; $password = 'pass<word'; curl_setopt($ch,'ftp://'.rawurlencode($username).':'.rawurlencode($password).'@ftp.domain.com/public_html/filesfromscript/'.$localfile); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- php – 如何在没有过滤器列表的情况下使用Locale :: accept
- php学习之数据类型之间的转换代码
- ECSHOP完美解决Deprecated: preg_replace()报错的问题
- php+redis实现商城秒杀功能
- 在win系统安装配置 Memcached for PHP 5.3 图文教程
- PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
- php – Mysqli语句的`close()`方法是什么?
- Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法
- 特殊字符变成问号php html
- php中while(list($key,$val)=each($result))详解获取数组