Heim > Artikel > Backend-Entwicklung > PHP-Funktionsanwendung, die String-Funktionen zum Extrahieren von Dateierweiterungen verwendet
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,'.'); return $ext; } $filename="dir/upload/image.gif"; echo getExtension($filename); ?>
分析一下上面的关键代码:
strrchr($filename,'.')
的意思为返回字符串$filename
中从字符“.
”开始到字符串结尾的所有字符。因此输出结果为:
接下来我们看看第二种利用字符串函数获取文件扩展名的方法
<?php function getExtension($filename){ $pos = strrpos($filename, '.'); $ext = substr($filename, $pos); return $ext; } $filename="dir/upload/image.gif"; echo getExtension($filename); ?>
输出结果为:
OK,分析一下上面的关键代码:
首先我们使用strrpos($filename, '.')
获取到字符“.”在字符串$filename
中最后一次出现的位置$pos
,然后将$pos
作为substr()函数的第二个参数。
substr($filename, $pos)
会根据$pos
设置的位置开始截取字符串$filename
,返回从$pos
开始到字符串结尾的所有字符。因此会输出“.gif
”。
如果想要获取不包括字符“.”的扩展名,即返回“gif
”,那么可以设置substr($filename, $pos+1)
,这样输出结果就为:
最后我们看看第三种利用字符串函数获取文件扩展名的方法
<?php function getExtension($filename){ $filename = strrev($filename); $ext = strstr($str,'.',true); return strrev($ext); } $filename="dir/upload/image.gif"; echo getExtension($filename); ?>
分析一下上面的关键代码:
strstr($filename,'.',true)
可以获取字符串$filename
中从开头到 字符“.
” 第一次出现前的所有字符,即获取 字符“.
”之前的内容,输出一下看看:
这和我们的预期不符合,此时我想了一下,既然是获取 字符“.”之前的内容,那么就把字符串反转一下,让表示扩展名的那几个字符在字符“.”之前不久行了!
因此,先使用strrev($filename)
来反转字符串$filename
,再使用strstr($filename,'.',true)
来获取 字符“.”之前的内容,这次输出看看结果:
可以了,获取到颠倒的扩展名了,调用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.
Werfen wir zunächst einen Blick auf die erste Methode zur Verwendung von Zeichenfolgenfunktionen zum Erhalten von Dateierweiterungen
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: 🎜🎜Als nächstes schauen wir uns die zweite Methode zur Verwendung von String-Funktionen an, um Dateierweiterungen zu erhalten 🎜🎜rrreee🎜Das Ausgabeergebnis ist: 🎜🎜🎜🎜OK, analysieren Sie den obigen Schlüsselcode: 🎜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. 🎜
gif
“ zurückgibt, können Sie substr festlegen ($filename, $pos +1)
, das Ausgabeergebnis lautet also: 🎜🎜🎜🎜🎜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: 🎜🎜🎜🎜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!