如何使用套接字将文件从php客户端发送到java服务器
我想从php客户端传输java服务器的套接字文件 来自Java的Java是一个好工作 但php不能将文件传输到java服务器 我需要将java代码或php代码转换为php代码 我想知道如何通过其他方法从php客户端传输java服务器的套接字文件。 请帮帮我。。。 谢谢你如何使用套接字将文件从php客户端发送到java服务器,java,php,file,sockets,Java,Php,File,Sockets,我想从php客户端传输java服务器的套接字文件 来自Java的Java是一个好工作 但php不能将文件传输到java服务器 我需要将java代码或php代码转换为php代码 我想知道如何通过其他方法从php客户端传输java服务器的套接字文件。 请帮帮我。。。 谢谢你 Java客户端代码 File file = new File(fileName); Socket socket = new Socket("localhost", 20225); ObjectInputStream ois =
File file = new File(fileName);
Socket socket = new Socket("localhost", 20225);
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(file.getName());
FileInputStream fis = new FileInputStream(file);
byte [] buffer = new byte[100];
Integer bytesRead = 0;
while ((bytesRead = fis.read(buffer)) > 0) {
oos.writeObject(bytesRead);
oos.writeObject(Arrays.copyOf(buffer, buffer.length));
}
oos.close();
ois.close();
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
FileOutputStream fos = null;
byte [] buffer = new byte[BUFFER_SIZE];
String filename = null;
Map<String, Object> retMap = new HashMap<String, Object>();
// 1. Read file name.
Object obj = ois.readObject();
try {
filename = Config.getInstance().getProperties("dispatcher.policy") + obj;
fos = new FileOutputStream(new File(filename));
// 2. Read file to the end.
Integer bytesRead = 0;
do {
obj = ois.readObject();
bytesRead = (Integer)obj;
obj = ois.readObject();
buffer = (byte[])obj;
// 3. Write data to output file.
fos.write(buffer, 0, bytesRead);
} while (bytesRead == BUFFER_SIZE);
logger.info("File transfer success : {} ", filename );
fos.close();
}catch(Exception e){
}
oos.writeObject("OK");
ois.close();
oos.close();
ObjectOutputStream oos=新的ObjectOutputStream(socket.getOutputStream());
ObjectInputStream ois=新的ObjectInputStream(socket.getInputStream());
FileOutputStream=null;
字节[]缓冲区=新字节[缓冲区大小];
字符串文件名=null;
Map retMap=newhashmap();
// 1. 读取文件名。
Object obj=ois.readObject();
试一试{
filename=Config.getInstance().getProperties(“dispatcher.policy”)+obj;
fos=新文件输出流(新文件(文件名));
//2.将文件读到底。
整数字节读取=0;
做{
obj=ois.readObject();
bytesRead=(整数)obj;
obj=ois.readObject();
缓冲区=(字节[])obj;
//3.将数据写入输出文件。
fos.写入(缓冲区,0,字节读取);
}while(bytesRead==缓冲区大小);
info(“文件传输成功:{}”,文件名);
fos.close();
}捕获(例外e){
}
oos.writeObject(“OK”);
ois.close();
oos.close();
$fp = stream_socket_client("tcp://localhost:20225", $error_number, $error_string);
if ( !$fp ) {
# output what went wrong with a new line at the end
echo "$error_number ($error_string)\n";
} else {
fwrite($fp, file_get_contents(FILE_NAME));
}
# uncomment next line if you happen to have more code below
# fclose($fp); # does what it says - closes the resource