내가 찾은 스크립트의 대부분은 파일의 캐시 된 버전을 사용하지 않도록 브라우저를 말하는 헤더 호출을 포함. 캐싱은 내가 테스트 한 브라우저에서 문제가되지 않았지만 문제가되면 스크립트에 다음 줄을 추가하십시오 (readfile()에 대한 호출 위). 위의 예제(줄 no-8)의 정규식은 이름이 점 문자로 시작되거나 끝나는 파일을 허용하지 않습니다(예: kites.jpg 또는 Kites.jpg, myscript.min.js)와 같은 파일 이름을 허용하지만 kites.jpg는 허용하지 않습니다. 또는 .kites.jpg. 참고: 파일에 공백이 포함될 수 있는 경우 파일 이름의 따옴표가 필요합니다. 위의 코드는 다음이 추가되지 않는 한 IE6에서 실패합니다. 이렇게하는 것은 더 관련이 있지만, 특히 큰 파일이나 비디오 / 오디오를 제공하는 경우 실제로 할 가치가 있습니다. URL에서 파일을 다운로드하는 많은 접근 방식이 아래에 설명되어 있습니다 : 다시 말하지만, 사양에 따라 실제 바이트 범위가 주어진 예제 (예 : 0-1000)를 보았습니다. 스크립트가 시작될 때 파일을 확인한 후(파일이 있는 경우 등) 범위가 요청되었는지 확인해야 합니다. 이제 범위가 있으므로 바이트로 표현되고 여러 범위를 포함하지 않으며 범위 자체가 유효한지 확인해야합니다 (끝은 시작이 음수가 아니며 끝은 파일 자체보다 크지 않습니다) `바이트:-`는 유효한 요청이 아닙니다. 범위가 유효하지 않은 경우, 당신은 당신이 아파치에있다면 출력해야합니다, 다운로드를 간단하고 빠르게 만드는 mod_xsendfile 라는 아주 멋진 모듈이있다.

헤더를 출력하면 모듈이 나머지를 처리합니다. 물론, 당신은 그것을 설치할 수 있어야 하 고 그것은 또한 코드 덜 휴대용 그래서 당신은 아마 재배포 코드에 대 한이 사용 하지 않으려는. 브라우저 창에서 데이터를 복사하여 파일에 붙여 넣은 다음 저장하기에 충분한 정보를 얻지 못하는 최종 사용자에게 CSV 파일을 푸시하는 데 여러 번 사용했습니다. 파일의 내용을 반환하는 대신 .php 파일이 요청될 때 php 인터프리터가 시작되도록 아파치를 구성해야 합니다. “웹 사이트 옵션”의 “PHP 스크립트 실행 모드”가 FCGId(즉, 기본 옵션)로 설정된 경우 php 파일이 실행되는 대신 다운로드됩니다. mod_php 설정, 문제를 해결하지만, 나는 워드 프레스와 권한 문제가 – 업데이트하거나 플러그인을 설치할 수 없습니다. 나는 777에 모든 폴더의 권한을 설정하거나 (나 같은 noob도 큰 아니오 알고있다) 또는 www-data에 public_html 폴더 내부의 모든 소유권을 변경, 나는 기본 우분투 사용자이해, 하지만 내가 본 것에서, 이것은 또한 보안 위험.