Heim >Betrieb und Instandhaltung >Nginx >Wie arbeitet Nginx mit PHP zusammen, um die Funktion der Generierung von Echtzeit-Miniaturansichten zu realisieren?

Wie arbeitet Nginx mit PHP zusammen, um die Funktion der Generierung von Echtzeit-Miniaturansichten zu realisieren?

WBOY
WBOYnach vorne
2023-05-15 18:37:06982Durchsuche

nginx-Konfiguration:

Code kopieren Der Code lautet wie folgt:

# Angenommen, auf dem Server befindet sich eine Datei: abc.jpg, und auf das Originalbild kann über http://filefs.domain.com zugegriffen werden /file/abc.jpg. Tatsächlich speichern wir im Allgemeinen nur den Inhalt von „/file/abc.jpg“ in der Datenbank.
#Jetzt müssen wir erkennen, dass das Miniaturbild #abc.jpg.w320.jpg (w320, 320 Pixel Breite) automatisch vom Server über http://filefs.domain.com/file/abc.jpg.w320 generiert wird. jpg. und Bilddaten zurückgeben.
# Die folgenden zwei Bedingungen müssen erfüllt sein:
# 1. Wenn abc.jpg.w320.jpg vorhanden ist, wird das Bild nicht neu generiert.
# 2. Wenn es nicht vorhanden ist, werden die Bilddaten zurückgegeben und im gespeichert gleiche Anforderung Bilddateien an den Server.
server {
listen 80;
server_name filefs.domain.com;

root /var/www/http/filefs.domain.com;
location / {
index index.html index.htm;
}
Location ~ . (png|jpg|jpeg|gif)$ {
          #Wenn die Datei nicht existiert, schreiben Sie sie in die Skriptdatei autoimg.php um, die das Bild generiert
                                                                                                                                                                                           PHP; p Expires Max; Ablaufzeit, Zugriffsprotokoll ausschalten

(-f $ request_filename) {
läuft max. ab
access_log off 00 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx /html;
}
Speicherort ~ autoimg.php$ {#Aus Sicherheitsgründen, Dateiserver, wird nur der Umfang dieser Skriptdatei übermittelt. Verarbeitet von PHP
                fastcgi_pass   127.0.0.1:9000;                                                        durch durch Verwendung durch Verwendung durch Verwendung durch Verwendung durch Verwendung durch   aus durch aus aus aus aus aus aus aus aus aus aus aus aus aus aus  wann  --                                                                                  

Code kopieren Der Code lautet wie folgt:

$file = $_server ['request_uri'];//Request string/file/abc.jpg.w320.jpg
$desfile = $_server ['document_root'] path/var/www/http/file/abc.jpg.w320.jpg
$dirname = dirname ($desfile) "/";
$filename = basename ($desfile);
if (preg_match ("/( [ ^.]+.(png|jpg|jpeg|gif)).w([d]+).(jpg)/i", $filename, $m )) {
   $srcfile = $dirname . $m [ 1 ];? 
      / **略 * ein Schrumpfungsdiagramm erstellen
* @param source $ src
* @Param fehlte Breitband $ width
*

*/
    Funktions-Miniaturansicht ($src, $des, $ width) {
                                                                                                                                 using   using   using   using using '       using using '       through using ' 's through out using ' s ' through ' s ‐ width) { -) {
$ im = ImageCreateFromgif ($ src); $im, 0, 0, 0, 0, $width, $height, $imageinfos [0], $imageinfos [1] );
                                 Header ( 'content-type:image/jpg' ); null, 90); //Ausgabedateistream, 90 – Komprimierungsqualität, 100 stellt die höchste Qualität dar. ​​​} }
                                                                                       //Die Ausgabe fließt zu der Webseite, um sicherzustellen, dass die Bilddaten bei der ersten Anfrage wieder eingefügt werden
@file_put_contents ( $des, $content );//Datei speichern
}
?>

Rendering:

Wie arbeitet Nginx mit PHP zusammen, um die Funktion der Generierung von Echtzeit-Miniaturansichten zu realisieren?

Wie arbeitet Nginx mit PHP zusammen, um die Funktion der Generierung von Echtzeit-Miniaturansichten zu realisieren?

Das obige ist der detaillierte Inhalt vonWie arbeitet Nginx mit PHP zusammen, um die Funktion der Generierung von Echtzeit-Miniaturansichten zu realisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen