php str_replace模式

时间:2010-05-06 18:53:20

标签: php str-replace

我有一个php应用程序,可以将图片保存在服务器上,并将图片名称存储在数据库中。我的问题是图片名称包括保存它的路径/文件夹(例如1220368812 / chpk2198933_large-2.jpg)所以我需要一个str_replace模式来删除“1220368812 /”并将图片名称正确存储在数据库。  如果你能给我一个很好的链接来解释str_replace模式是如何工作的,或者至少你使用的模式是如何工作的,我将不胜感激。

2 个答案:

答案 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