PHP에서 강제 다운로드하기 전에 헤더에서 파일 권한을 설정 하시겠습니까?

StackOverflow https://stackoverflow.com/questions/1638828

  •  08-07-2019
  •  | 
  •  

문제

IM 다운로드를 위해 사용자에게 파일을 제시 할 파일을 생성하지만 서버를 사용하면 777의 권한이 필요하기 때문에 서버를 열지 못합니다.

여기 내 코드가 있습니다

$fh = fopen("$name", 'w') or die("can't open file");
fwrite($fh, $data);
fclose($fh);

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". filesize("$name").";");
header("Content-Disposition: attachment; filename=$name");
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary");

readfile($name);

열기 전에 이것의 권한을 설정하는 방법을 열기 전에, 아니면 어떻게해야합니까? 파일은 아직 생성되지 않았으므로 끝없는 루프 일 수 있습니다. 파일을 만들고 열어야합니까, 아니면 무엇을 열어야합니까?

도움이 되었습니까?

해결책

작성하는 임시 파일이 필요하지 않은 경우 $ 이름을 사용하여 파일을 만들지 않고 바로 스트리밍하십시오.

대신 모든 헤더를 출력하고 출력을 반영 할 수 있습니다.

다른 팁

파일 이름이 고정 된 경우

  • 서버에서 빈 파일을 만듭니다
  • 허가를 설정하십시오.
  • PHP에서 열 수 있습니다
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top