我正在使用以下内容从帖子数据上传图片。它使用php版本在我的服务器上运行:5.2.16
当我尝试使用MAMp和PHP V5.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 );
}
如果我在firebug中查看它,看起来确实存在帖子数据。任何想法为什么这不适用于mamp?
答案 0 :(得分:1)
有些事情要尝试:
检查以确保在MAMP上运行脚本时获取原始数据
检查它尝试写入的目录的权限,并确保您具有写入权限,并且apache具有写入权限。
我在MAMP上运行一些php模块时出现问题,所以我转而使用我使用MacPorts安装的版本。它让我更多地控制了我想安装的额外扩展,我得到了最新版本的apache,php和php扩展。