0

我正在使用以下内容从帖子数据上传图像。它可以在我的服务器上使用 php 版本:5.2.16

当我尝试使用 MAMP 和 PHP 版本 5.2.17 在本地服务器上运行完全相同的脚本时,不会创建文件。

if (isset($HTTP_RAW_POST_DATA))
{

// Get the data
$imageData=$HTTP_RAW_POST_DATA;
// Remove the headers (data:,) part.  
// A real application should use them according to needs such as to check image type
$filteredData=substr($imageData, strpos($imageData, ",")+1);
// Need to decode before saving since the data we received is already base64 encoded
$unencodedData=base64_decode($filteredData);

echo "unencodedData: ".$unencodedData;
$key = microtime();
$key = md5($key);
// Save file. 
$fp = fopen( '../../../uploadedImages/original/' . $key . '.jpg', 'wb' );
fwrite( $fp, $unencodedData);
fclose( $fp );
}

如果我在萤火虫中查看它,看起来帖子数据确实存在。任何想法为什么这在 mamp 中不起作用?

4

1 回答 1

1

一些事情要尝试:

  1. 检查以确保在 MAMP 上运行脚本时获取原始数据

  2. 检查它尝试写入的目录的权限,并确保您对其具有写访问权并且 apache 对其具有写访问权。

我在 MAMP 上运行一些 php 模块时遇到问题,所以我改用使用 MacPorts 安装的版本。它让我可以更好地控制想要安装的额外扩展,并且我获得了最新版本的 apache、php 和 php 扩展。

于 2012-09-01T20:00:16.900 回答