Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

青灯夜游
青灯夜游Original
2021-08-18 19:06:013611Durchsuche

Im vorherigen Artikel „PHP-Funktionsanwendung: Verwenden von Arrays zur Ausgabe von Dateierweiterungen“ haben wir zwei Methoden zur Verwendung von Arrays zum Erhalten von Dateierweiterungen vorgestellt. Dieses Mal stellen wir weiterhin die Methode zum Erhalten der Dateierweiterung vor und sehen, wie man die String-Funktion verwendet. ~

Erinnern wir uns zunächst an das oben Gesagte kann in drei Teile unterteilt werden: den Inhalt vor dem Zeichen „.“, den Inhalt nach dem Zeichen „.“ und den Inhalt nach dem Zeichen „.“.

Dieses Mal müssen wir noch das Zeichen „..,通过它来获取文件扩展名!下面我们会给大家介绍3种利用字符串函数获取文件扩展名的方法。

首先我们来看看第一种利用字符串函数获取文件扩展名的方法

<?php
function getExtension($filename){
         $ext = strrchr($filename,&#39;.&#39;);
         return $ext;
}
$filename="dir/upload/image.gif";
echo getExtension($filename);
?>

分析一下上面的关键代码:

strrchr($filename,'.')的意思为返回字符串$filename中从字符“.”开始到字符串结尾的所有字符。因此输出结果为:

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

接下来我们看看第二种利用字符串函数获取文件扩展名的方法

<?php
function getExtension($filename){
    $pos = strrpos($filename, &#39;.&#39;);
    $ext = substr($filename, $pos);
    return $ext;
}
$filename="dir/upload/image.gif";
echo getExtension($filename);
?>

输出结果为:

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

OK,分析一下上面的关键代码:

  • 首先我们使用strrpos($filename, '.')获取到字符“.”在字符串$filename中最后一次出现的位置$pos,然后将$pos作为substr()函数的第二个参数。

  • substr($filename, $pos)会根据$pos设置的位置开始截取字符串$filename,返回从$pos开始到字符串结尾的所有字符。因此会输出“.gif”。

如果想要获取不包括字符“.”的扩展名,即返回“gif”,那么可以设置substr($filename, $pos+1),这样输出结果就为:

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

最后我们看看第三种利用字符串函数获取文件扩展名的方法

<?php
function getExtension($filename){
    $filename = strrev($filename);
    $ext = strstr($str,&#39;.&#39;,true);
    return strrev($ext);
}
$filename="dir/upload/image.gif";
echo getExtension($filename);
?>

分析一下上面的关键代码:

strstr($filename,'.',true)可以获取字符串$filename中从开头到 字符“.” 第一次出现前的所有字符,即获取 字符“.”之前的内容,输出一下看看:

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

这和我们的预期不符合,此时我想了一下,既然是获取 字符“.”之前的内容,那么就把字符串反转一下,让表示扩展名的那几个字符在字符“.”之前不久行了!

因此,先使用strrev($filename)来反转字符串$filename,再使用strstr($filename,'.',true)来获取 字符“.”之前的内容,这次输出看看结果:

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

可以了,获取到颠倒的扩展名了,调用strrev($filename) verwenden, um die Dateierweiterung zu erhalten! Im Folgenden stellen wir Ihnen drei Methoden vor, mit denen Sie mithilfe von Zeichenfolgenfunktionen Dateierweiterungen erhalten können.

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendetWerfen wir zunächst einen Blick auf die erste Methode zur Verwendung von Zeichenfolgenfunktionen zum Erhalten von Dateierweiterungen

rrreee

Analysieren Sie den obigen Schlüsselcode:

strrchr($filename,'.') bedeutet, alle Zeichen in der Zeichenfolge $filename zurückzugeben, beginnend mit dem Zeichen „.“ bis zum Ende der Zeichenfolge. Das Ausgabeergebnis lautet also:

PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet

🎜🎜Als nächstes schauen wir uns die zweite Methode zur Verwendung von String-Funktionen an, um Dateierweiterungen zu erhalten 🎜🎜rrreee🎜Das Ausgabeergebnis ist: 🎜🎜PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet🎜🎜OK, analysieren Sie den obigen Schlüsselcode: 🎜
  • 🎜Zuerst verwenden wir strrpos($filename, '.'), um zu ermitteln, wann das Zeichen „." das letzte Mal in der Zeichenfolge $filename vorkommt Die Position, an der es erscheint, ist $pos. Verwenden Sie dann $pos als zweiten Parameter der Funktion substr(). 🎜
  • 🎜substr($filename, $pos) beginnt mit dem Abfangen der Zeichenfolge $filename basierend auf der durch $pos > gibt alle Zeichen von <code>$pos bis zum Ende der Zeichenfolge zurück. Daher wird „.gif“ ausgegeben. 🎜
🎜Wenn Sie die Erweiterung erhalten möchten, die das Zeichen „.“ nicht enthält, also „gif“ zurückgibt, können Sie substr festlegen ($filename, $pos +1), das Ausgabeergebnis lautet also: 🎜🎜PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet🎜🎜🎜Schauen wir uns abschließend die dritte Methode zur Verwendung von Zeichenfolgenfunktionen an, um Dateierweiterungen zu erhalten🎜🎜rrreee🎜Analysieren Sie den obigen Schlüsselcode: 🎜🎜🎜strstr( $filename,'.',true) kann alle Zeichen vom Anfang bis zum ersten Vorkommen des Zeichens „.“ in der Zeichenfolge $filename abrufen . Das heißt, den Inhalt vor dem Zeichen „.“ abrufen und ausgeben: 🎜🎜PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet🎜🎜Das entspricht nicht unseren Erwartungen. Zu diesem Zeitpunkt habe ich darüber nachgedacht. Da wir das bekommen Inhalt vor dem Zeichen „.“, dann kehren Sie einfach die Zeichenfolge um, sodass die Zeichen, die die Erweiterung darstellen, nicht lange vor dem Zeichen „.“ stehen! 🎜🎜Verwenden Sie also zuerst strrev($filename), um die Zeichenfolge $filename umzukehren, und verwenden Sie dann strstr($filename,'.',true) um den Inhalt vor dem Zeichen „.“ abzurufen, geben Sie dieses Mal aus, um das Ergebnis zu sehen: 🎜🎜<img src="https://img.php.cn/upload/image/548/278/851/1629284294391099%20.png%20" title="1629284294391099.png" alt="PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet">🎜🎜Das ist es, Sie haben die invertierte Erweiterung. Rufen Sie <code>strrev($filename) auf, um die Zeichenfolge erneut umzukehren , Auf diese Weise wird die normale Erweiterung erhalten: 🎜🎜🎜🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie darauf klicken. → →🎜php-Video-Tutorial🎜🎜🎜 Abschließend empfehle ich die Lektüre eines klassischen Kurses „🎜PHP String Processing (Jade Girl Heart Sutra Edition)🎜“, er ist kostenlos ~ kommen Sie und lernen Sie! 🎜

Das obige ist der detaillierte Inhalt vonPHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn