我有一个 php 应用程序,它将图片保存在服务器上,并将图片名称存储在数据库中。我遇到的问题是图片名称包括保存它的路径/文件夹(例如 1220368812/chpk2198933_large-2.jpg)所以我需要一个 str_replace 模式来删除“1220368812/”并将图片名称正确存储在分贝。此外,如果您能向我发送一个很好的链接,说明 str_replace 模式的工作原理或至少您使用的模式如何工作,我将不胜感激。
问问题
1229 次
2 回答
3
尝试
basename
— 返回路径的文件名组件
Example #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
不允许使用patterns。它所做的只是用替换字符串替换所有出现的搜索字符串。用模式替换是用正则表达式完成的,但在这里它们也不是必需的。
于 2010-05-06T18:55:05.587 回答
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
于 2010-05-06T19:06:25.987 回答