PHP通过TCP套接字发送文件
我正在尝试使用PHP通过TCP套接字发送一个.BIN文件。这就是我所拥有的:PHP通过TCP套接字发送文件,php,sockets,tcp,Php,Sockets,Tcp,我正在尝试使用PHP通过TCP套接字发送一个.BIN文件。这就是我所拥有的: $fp = fsockopen("127.0.0.1", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { fwrite($fp, "You message"); while (!feof($fp)) { echo fgets($fp, 128);
$fp = fsockopen("127.0.0.1", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, "You message");
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
$fp=fsockopen(“127.0.0.1”,80,$errno,$errstr,30);
如果(!$fp){
回显“$errstr($errno)
\n”;
}否则{
fwrite($fp,“您的消息”);
而(!feof($fp)){
echo fgets(fp,128美元);
}
fclose($fp);
}
我不确定如何发送BIN文件,在测试它时,页面只是无限循环
有人能帮我吗?是否有更好的方法使用PHP通过TCP发送文件?您需要2个文件资源,但只打开出站资源:
$fp = fsockopen("127.0.0.1", 80, $errno, $errstr, 30);
$fb_bin = fopen("myfile.bin", 'rb');
// TODO error test $fp_bin
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
// fwrite($fp, "You message");
while (!feof($fp_bin)) {
fwrite($fp, fread($fp_bin, 128)); // ? use a larger value
// TODO Error test the read and write operations
}
fclose($fp);
fclose($fp_bin);
}
$fp=fsockopen(“127.0.0.1”,80,$errno,$errstr,30);
$fb_bin=fopen(“myfile.bin”,“rb”);
//TODO错误测试$fp\U bin
如果(!$fp){
回显“$errstr($errno)
\n”;
}否则{
//fwrite($fp,“您的消息”);
而(!feof($fp_bin)){
fwrite($fp,fread($fp_-bin,128));/?使用较大的值
//TODO错误测试读写操作
}
fclose($fp);
fclose($fp_-bin);
}
您打开了一个文件资源(要写入的套接字),但您的循环看起来像是从另一个文件(可能是bin文件)读取。使用fopen()打开bin文件,并在循环中将内容写入套接字。@RichGoldMD我正在试图理解你的意思。你有没有给我一个代码示例,这样我就可以完全理解你想要指出的内容?请看下面我的答案。我将尝试一下,看看我是否可以进一步调试这个,当然会让你知道。你运气好吗?