我正在尝试上传文件,我的前端应用程序是 PHP,后端引擎是 Java。它们都通过 PHP-Java_bridge 进行通信。
我的第一个动作是,当一个文件发布到 PHP 页面时,它将检索其内容。
$filedata= file_get_contents($tmpUploadedLocation);
然后将此信息传递给接受字节数组的Java EJB外观saveFileContents(byte[] contents)
这是我在 PHP 中如何将其转换$filedata
为字节数组的方法。
$bytearrayData = unpack("C*",$filedata);
最后调用Java服务(使用php-java-bridge检索Java服务对象)
$javaService->saveFileContents($bytearrayData);
如果文件大小较小,这可以正常工作,但如果大小增加 2.9 MB,我会收到错误消息,因此文件内容不会保存到磁盘上。
Fatal error: Allowed memory size of 134217728 bytes exhausted //This is PHP side error due to unpack
我不知道该怎么做,上面的方法不准确,请我有一些限制。
- 引擎(Java)负责保存和检索内容。
- PHP-HTML 是前端应用程序,它现在可以是任何东西它只是 PHP
- PHP 使用 PHP-Java-Bridge 与 Java 通信
- EJB 的方法由 PHP 访问以保存和检索信息。
上述组合一切正常,但现在关于上传和保存文档。它将用于任何前端应用程序(PHP 或通过远程接口(查找)的其他 java 应用程序)的 EJB(应用程序引擎访问点)。
我的问题是如何将 PHP 中的文件内容发送到 Java,它不会破坏任何东西(内存)?