html - 다운로드 요청이 파일로 전송됩니다. PHP가 이 요청을 기록하는 데 사용할 수 있습니까?

WBOY
풀어 주다: 2016-08-04 09:19:37
원래의
866명이 탐색했습니다.

제목과 마찬가지로 코드 설명은 없습니다.
또는 Apache를 구성하여 이 요청을 기록하는 방법

답글 내용:

제목과 마찬가지로 코드 설명은 없습니다.
또는 Apache를 구성하여 이 요청을 기록하는 방법

<code>download.php?file=work.zip
<?php
$filepath = '/data/'.trim($_GET['file']);
if(file_exists($filepath)) {
    log($filepath);
}
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($filepath).'"');
//方法1:交给Nginx输出(Nginx有AIO线程池,不会阻塞)
header("X-Accel-Redirect: $filepath");
//方法2:PHP自己输出(PHP进程会被阻塞)
//readfile($filepath);</code>
로그인 후 복사

가장 간단한 방법은 사용자가 먼저 파일을 다운로드하여 요청한 후 PHP로 작성된 다운로드 주소를 기록하고 필요한 정보를 기록하는 것입니다. 그런 다음 PHP의 헤더 기능을 사용하여 실제 다운로드 파일 주소로 이동합니다

<code><?php
$file_name = '9567b94e440700226e003fb9258dd733.png';  //下载的文件名
header("Content-Disposition:attachment;filename=".$file_name."");
readfile($file_name);
$header = $_SERVER['HTTP_USER_AGENT'];  //用户UA
$ip = $_SERVER['REMOTE_ADDR'];   //用户IP</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿