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 に答える