我有一种情况,一个Web服务器发布一个JSON数组,其中包含一些参数以及其中的文档数据。我得到的数据,内容类型和文件名。我将这个JSON转换为一个关联数组,以便我可以使用它。下面给出了转换后的关联数组的一个例子。在PHP中写入JSON到DOC文件
[dealer] => Array
(
[fullName] => John Doe
[email] => [email protected]
[resume] => Array
(
[file] => Array
(
[data] => UEsDBBQABgAIAAAAIQCVRr6H0AEAAB8IAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0VU1v4bWxQSwECLQAUAAYACAAAACEAh7oKST4BAACpAgAAFAAAAAAAAAAAAAAAAADhdQAAd29yZC93ZWJTZXR0aW5ncy54bWxQSwECLQAUAAYACAAAACEAhub8n6scAADr+gAAGgAAAAAAAAAAAAAAAABRdwAAd29yZC9zdHlsZXNXaXRoRWZmZWN0cy54bWxQSwUGAAAAABQAFAAiBQAANJQAAAAA
[fileName] => John_resume.docx
[contentType] => application/octet-stream
)
)
我试图写这个文件系统和我能做到这一点,但该文件被写成文本文件,而不是作为一个二进制文件。下面还提供了我已经完成的代码。
$json = file_get_contents('php://input');
$document = json_decode($json, true, 32, JSON_BIGINT_AS_STRING);
$resumeFileData = $document['resume']['file']['data'];
$filePath = $folderPath . DS . $document['resume']['file']['fileName'];
$resumeFile = new File($filePath, true);
$resumeFile->write($resumeFileData);
$resumeFile->close();
我在做什么不正确?我正在使用CakePHP 2.5.4
在此先感谢
您想创建一个docx文档吗?一个word文件,只使用cakephp? – zeflex
你是什么意思,它不是写成二进制文件。你期待什么文件格式? – Augwa
我不想创建一个'新'docx文档。我正在接收一个docx文档作为json流,我只需要将该流存储回可读文件结构。目前,当我保存并重新打开它时,我看到的是与我在示例中共享的相同的乱码字符串 - 导致我相信缺少MIME类型或某些标题信息 – ChicagoSky