我正在创建一个简单的数据库恢复脚本,但我在路上遇到了一个颠簸。
数据库转储文件也是使用脚本创建的,其文件名格式如下: datestamp-dbname.sql
使用恢复脚本,我需要删除日期戳、连字符和.sql,只保留数据库名。
我目前有这个,它删除了第一部分,但我还需要删除.sql。
$getfilename = $_GET['filename'];
$dbname = explode("-", $getfilename[2]);谢谢。
发布于 2011-07-29 02:13:12
list ($timestamp, $dbname) = explode('-', basename($filename, '.sql'));basename() (带有可选的第二个参数)删除文件扩展名。剩下的都是微不足道的。
另一种解决方案:
$dbname = substr($filename, strpos($filename, '-') + 1, -4);只接受- (不包括:+1)和字符串末尾之前的4个字符之间的字符串。
我更喜欢第一种解决方案,因为对我来说它感觉更干净一些(甚至更具可读性)
发布于 2011-07-29 02:13:59
数组的第一个元素的索引为0,而不是1。您需要:
$tmp = explode('-', $getfilename);
$dbname = $tmp[1];发布于 2011-07-29 02:14:16
$getfilename = $_GET['filename'];
$dbname = explode("-", $getfilename);
$dbname[1] // this is what you needhttps://stackoverflow.com/questions/6863645
复制相似问题