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

您只是没有足够的权限写入目标文件夹。你的服务器可能在用户下运行apachehttpd或者类似的东西,你有你的用户喜欢Sree

因此,您必须在一个组中并chmod设置为x7x- 组可写;或(不在同一组中)xx7- 对所有人都可写。

没有提到由seLinux(您的系统可能正在运行)引起的可能问题。

于 2013-04-17T07:14:22.743 回答
0

您没有目录的写入权限。授予它权限,然后它应该可以工作。

于 2013-04-17T07:12:52.237 回答
0

您的应用程序在您尝试将文件保存到的目标目录中没有写入权限。您将需要使用安全 shell 登录并使用chmod更新权限

于 2013-04-17T07:14:36.577 回答