我有一个php应用程序,可以将图片保存在服务器上,并将图片名称存储在数据库中。我的问题是图片名称包括保存它的路径/文件夹(例如1220368812 / chpk2198933_large-2.jpg)所以我需要一个str_replace模式来删除“1220368812 /”并将图片名称正确存储在数据库。 如果你能给我一个很好的链接来解释str_replace模式是如何工作的,或者至少你使用的模式是如何工作的,我将不胜感激。
答案 0 :(得分:3)
尝试
basename
- 返回路径的文件名组件示例#1 basename()示例
$path = "/home/httpd/html/index.php";
$file = basename($path); // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
不需要str_replace
任何内容,因为basename
会移除路径部分。此外,str_replace
不允许模式。它只是用替换字符串替换所有出现的搜索字符串。使用Regular Expressions替换模式,但这里也不需要它们。
答案 1 :(得分:0)
实际上pathinfo更好一点。它为您提供了基本名称和更多:
http://php.net/manual/en/function.pathinfo.php
<?php
$path_parts = pathinfo('/www/htdocs/index.html');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>
以上示例将输出:
/www/htdocs
index.html
html
index