2011-04-07 8 views
0

PHP 프로젝트를 개발했습니다. 그래서 플래시에서 PHP로 이미지를 전달합니다. 매개 변수 값을 가져 오면 base64 형식으로 변환하고 새 파일에 쓰고 있습니다 (png 이미지). 위의 논리는 내 로컬 시스템에서 완벽하게 작동합니다. 하지만 서버에이 Seeting을 배치했을 때. 파일 쓰기를 제외하고 모든 것이 작동합니다.서버에 파일이 없습니다.

다음은 이미지를 생성하는 코드입니다.

$filename = $templateID.'.png'; 

if ($handle = fopen("images/cat_images/".$filename, 'w')) 
{ 
    if (!fwrite($handle, $somecontent) === FALSE) 
    { 
     fclose($handle); 

     $query = "UPDATE `products` SET `template_data`='".$signData."' WHERE `id`=$templateID LIMIT 1"; 
     $db->query($query); 
    } 
} 
+0

images/cat_image에 대한 쓰기 권한이 있습니까? 디렉토리? –

+0

스크립트가 서버에 쓰고있는 디렉토리에 쓰기 권한을 가지고 있습니까? 그러면 코드가 로컬에서는 작동하지만 서버에서는 작동하지 않는 이유를 설명 할 수 있습니다. – Simon

답변

0

글을 쓸 수없는 경우 해당 디렉토리에 대한 쓰기 권한이 없습니다.

디렉토리에 대한 쓰기 권한을 부여하십시오.

편집

확인 당신이 fopen에서 언급 한 경로가 정확한지 확인하십시오. 나는 그것이 귀하의 라이브 디렉토리 구조에 따라 올바르지 않다고 생각합니다.

봅니다 쓰기를 할 아파치, 또는 그룹에 www가 데이터 사용자를 추가 소유권을 줄 것이다이 sudo chown www-data /path/to/images/ -r

을 시도 fopen

if ($handle = fopen("/full/path/here/images/cat_images/".$filename, 'w')) 
+0

디렉터리에 대한 파일 사용 권한은 클라이언트 FTP (FileZilla)를 통해 지정되었습니다. 내가 오른쪽 클릭하고 persmission 777을 보여주는 지 확인하십시오. 그래서 파일의 허가 때문에 문제가 아니라고 생각합니다. – Arung

0

의 전체 경로를 언급

또는 sudo chmod a+w /path/to/images/ -r 누구나 최선의 옵션이 아닌 다른 사람에게 글을 쓸 수 있습니다.

+0

플래시 파일에서 SSL을 사용할 수 있습니까 ?? 값이 falsh 파일에서 PHP 파일로 전달되기 때문입니다. 그래서 SSL로 falsh에서 문제가 될 수 있을까요 ?? – Arung

관련 문제