0

我正在使用file_put_contents(). 这是写作部分[PHP]:

$data = base64_decode( $datastring );
$res = file_put_contents( $path, $data );
$resultf = array();
$resultf["request"] = "setpic";
$resultf["result"] = strval($res);
$this->sendResponse(200, json_encode($resultf));

阅读部分遵循[PHP]:

$datastring = file_get_contents( $path );
$data = base64_encode( $datastring );
$resultf["request"] = "getpic";
$result0 = array();
$result0["path"] = $path;
$result0["data"] = $data;
$resultf["result"] = $result0;
$this->sendResponse(200, json_encode($resultf));

两者$path都是正确的。

尽管如此,尽管文件是“正确”创建的(我可以看到它们ssh的大小约为 9kB),但如果我scp认为图像文件的宽度和高度为 0,即我认为是损坏的图像文件。如果我尝试在我的 iOS 应用程序中使用 XCode 加载它们,我会收到以下错误:

ImageIO: <ERROR>  JPEG Corrupt JPEG data: 75 extraneous bytes before marker 0xdb

请注意,包含文件夹具有 777 权限,与从父文件夹访问它们的 php web 服务相同的用户/组。这种方法一直有效,直到我不幸地更改了根文件夹的所有者。

非常感谢你的帮助。

4

0 回答 0