php静态文件返回_PHP教程
php静态文件返回
有时一些静态文件(如图片)会由php输出,会发现请求都是200,静态文件每次都去服务器上请求太浪费资源了,这时如何让浏览器缓存图片呢?就需要我们在php中输出304了。
我们可以利用php中的 HTTP_IF_MODIFIED_SINCE 结合etag来干这事。Etag没有明确规定的格式,我们可以用文件修改时间的md5值,代码如下:
代码如下:
private function _addEtag($file) {
$last_modified_time = filemtime($file);
$etag = md5_file($file);
// always send headers
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
header("Etag: $etag");
// exit if not modified
if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time ||
@trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
header("HTTP/1.1 304 Not Modified");
exit;
}
}
在代码中可以在静态文件(如图片)输出之前调用即可。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 팁: 이전 페이지로 돌아가는 기능을 빠르게 구현하세요. 웹 개발을 하다 보면 이전 페이지로 돌아가는 기능을 구현해야 하는 경우가 종종 있습니다. 이러한 작업은 사용자 경험을 향상시키고 사용자가 웹 페이지 간을 더 쉽게 탐색할 수 있게 해줍니다. PHP에서는 몇 가지 간단한 코드를 통해 이 기능을 구현할 수 있습니다. 이번 글에서는 이전 페이지로 돌아가는 기능을 빠르게 구현하는 방법을 소개하고 구체적인 PHP 코드 예제를 제공하겠습니다. PHP에서는 $_SERVER['HTTP_REFERER']를 사용하여 이전 페이지의 URL을 가져올 수 있습니다.

MySQL은 데이터 저장 및 관리를 위해 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 데이터베이스 테이블에 새 데이터를 삽입하려면 일반적으로 INSERT 문을 사용합니다. MySQL에서는 데이터 삽입에 성공하기 위해 INSERT 문을 실행하면 삽입 작업의 결과인 결과가 반환됩니다. 이 기사에서는 데이터를 삽입한 후 MySQL이 반환하는 결과에 대해 자세히 설명하고 몇 가지 구체적인 코드 예제를 제공합니다. 1. 데이터를 삽입한 후 반환되는 결과는 MySQL에 성공적으로 실행된 경우입니다.

Vue를 사용하여 이전 페이지로 돌아가는 특수 효과를 구현하는 방법 프런트엔드 개발을 하다 보면 이전 페이지로 돌아가야 하는 상황이 자주 발생합니다. 뒤로 버튼을 추가하면 더 나은 사용자 경험을 제공할 수 있습니다. 이 글에서는 Vue 프레임워크를 사용하여 이전 페이지로 돌아가는 특수 효과를 얻는 방법을 소개하고 해당 코드 예제를 제공합니다. 먼저 Vue 프로젝트에서 이전 페이지와 같은 페이지를 생성해야 합니다. VueRouter를 통해 라우팅을 설정할 수 있으며 각 경로는 구성 요소에 해당합니다. 이전 페이지에서는 뒤로 버튼을 추가하고 클릭 이벤트를 전달할 수 있습니다.

배열 루프를 사용하여 목록에서 가장 큰 요소를 반환할 수 있습니다. 이는 주로 모델을 비교함으로써 달성됩니다. 목록에서 가장 큰 숫자가 목록의 모든 요소와 비교됩니다. 프로시저는 'n'을 입력 수량으로 간주하고 이를 배열의 데이터 값으로 저장합니다. 그 후 프로그램은 루프가 끝난 후 출력 콘솔에 가장 큰 요소를 표시합니다. 이 기사에서는 배열 목록에서 가장 큰 요소를 찾을 수 있는 일부 Java 코드를 이해하고 작성하는 데 도움을 줄 것입니다. Java를 사용하여 배열에서 가장 큰 숫자를 선택하는 방법은 무엇입니까? 배열을 정렬하여 가장 큰 숫자를 찾을 수 있습니다. 정의하려면 배열L을 피하세요.

확장된 행렬을 기반으로 문제를 토론하세요. 확장 행렬은 크기가 어느 정도 증가하는 행렬입니다. 여기에는 크기가 2의 배수로 확장된 문자 행렬이 있습니다. 즉, 원래 행렬의 크기가 N*N이면 확장된 행렬의 크기는 2N*2N이 됩니다. (i, j)에 위치한 문자 시퀀스가 주어지고, (i, (j-N-1)%N)에 위치한 문자 시퀀스를 반환해야 합니다. 몇 가지 초기 확장 행렬을 시각화하여 이해해 보겠습니다. 주어진 행렬->[a,b][c,d],2X2행렬곱하기{a,b,c,d}AX[a,b]BX[a,b]CX[a,b]DX[a,b][c ,디]

PHP의 사용자 정의 함수는 문자열, 숫자, 배열 및 객체를 포함하여 return 문을 통해 지정된 유형의 값을 반환할 수 있습니다. 실제 사례: - 반환 문자열: functiongreet($name){return "Hello,$name!";} - 반환 배열: functionget_user_data($id){return["name"=>"John","email"=> " john@example.com"];}

PHP에서 함수 반환 값을 사용하는 단계는 다음과 같습니다. 함수를 사용하여 함수를 선언하고 return 문을 사용하여 함수를 호출하고 반환 값을 캡처합니다.

입력 1에 대해 2를 반환하고 입력 2에 대해 1을 반환하는 함수를 만들어야 합니다. 이 함수는 사용하는 로직에 따라 다양한 방식으로 만들어질 수 있습니다. 가장 간단한 방법은 조건문을 사용하는 것입니다. 숫자가 1이면 2를 반환하고, 그렇지 않으면 1을 반환합니다. 다른 방법으로는 수학 연산(모든 종류 가능) 및 XOR 연산을 사용하는 것이 있습니다. 예 #include<stdio.h>//if문을 사용하는 방법1intreverseif(intx){ if(x==1)return2;}/
