0

PHP プロジェクトを別のシステムにデプロイしようとしたときに、このようなエラーが発生しました

Warning: imagejpeg() [function.imagejpeg]: Unable to open 'image.jpg' for writing: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/WISMAN/pmhome.php on line 61

ここで、Webサービスを呼び出してjsonを取得し、文字列形式の画像を含む応答としてjsonを取得しています。これを画像にエンコードしてimage.jpegとして保存していますが、これを示しています

 <?php
 $userid=$_SESSION[user_id];
 //echo $userid;
 $useridofuser=array(
 'user_id'=> "$userid");
  //echo json_encode($useridofuser);//coverting the vlaues collected from form  into json
        //calling the web service
      $url='webservice url';
    $data=$useridofuser;
 //echo("Input to Server : ".$data."\n");
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($useridofuser));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
    $response=  curl_exec($ch);
   echo('\n'."Server response : \n \n".$response);
    curl_close($ch);
    //parsing the json response from server 
    $jsonde="$response";
    $json_o=json_decode($jsonde);
    $json_a=json_decode($jsonde,true);
    //echo("$json_a");
    $company_name=$json_a[user_data][company_name];
    $name=$json_a[user_data][name];
    $registration_date=$json_a[user_data][registration_date];
    $user_id=$json_a[user_data][user_id];
    $product_id=$json_a[product_data][0][product_id];
    $product_registration_id=$json_a[product_data][0][product_registration_id];
    $product_name=$json_a[product_data][0][product_name];
    $registration_date=$json_a[product_data][0][registration_date];
    $image=$json_a[product_data][0][image];
    $expiry_date=$json_a[product_data][0][expiry_date];
    $product_evaluation_level=$json_a[product_data][0][product_evaluation_level];
 $_SESSION[regid]=$product_registration_id;
if($product_evaluation_level=="1")
{
    $level=trial;
}
$image_base64="$image";
$img = imagecreatefromstring(base64_decode($image_base64));
if($img != false)
{
imagejpeg($img, 'image.jpg');
} ?>
4

3 に答える 3

1

宛先フォルダーに書き込むための十分な権限がありません。サーバーはおそらく user apachehttpdまたはそのようなもので実行されており、ユーザーは のようなものSreeです。

したがって、1 つのグループに所属し、- グループに対して書き込み可能にchmod設定する必要があります。x7xまたは (同じグループに属していない) xx7- すべての書き込み可能。

seLinux(システムが実行されている可能性がある)によって引き起こされる可能性のある問題については言及していません。

于 2013-04-17T07:14:22.743 に答える
0

アプリケーションには、ファイルを保存しようとしているターゲット ディレクトリへの書き込み権限がありません。セキュア シェルを使用してログインし、 chmodを使用してアクセス許可を更新する必要があります。

于 2013-04-17T07:14:36.577 に答える
0

ディレクトリへの書き込み権限がありません。許可を与えると、動作するはずです。

于 2013-04-17T07:12:52.237 に答える