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를 통해 라우팅을 설정할 수 있으며 각 경로는 구성 요소에 해당합니다. 이전 페이지에서는 뒤로 버튼을 추가하고 클릭 이벤트를 전달할 수 있습니다.

확장된 행렬을 기반으로 문제를 토론하세요. 확장 행렬은 크기가 어느 정도 증가하는 행렬입니다. 여기에는 크기가 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 ,디]

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

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

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

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