在函数中使用PHP变量

在函数中使用PHP变量,php,Php,我使用以下代码仅使用应用程序的名称获取包的完整文件名: <?php // define which app $app = "appname"; // Search the directory for possible matches foreach (glob("../../debs/com.dev.".$app."*") as $filename) { preg_match('/\\d\\.\\d-\\d_.*\\.deb/', $filename, $matches);

我使用以下代码仅使用应用程序的名称获取包的完整文件名:

<?php   

// define which app
$app = "appname"; 

// Search the directory for possible matches
foreach (glob("../../debs/com.dev.".$app."*") as $filename) {

preg_match('/\\d\\.\\d-\\d_.*\\.deb/', $filename, $matches);
    $debname = "com.dev.".$app."_{$matches[0]}\n"; }
    echo $debname;
?>
出于某种奇怪的原因,代码没有显示大小,它显示n/a

如果我手动将debname变量设置为
$debname=“com.dev.appname_1.0-1_iphoneos-arm.deb”
它工作正常,并且我得到了文件大小

我就是想不出有什么问题

我试着使用会话

session_start();
$SESSION['debname'] = $debname;
...
...
echo format_size(filesize("../../debs/".$SESSION['debname']));
但同样的问题。

这一行是错误的:

$debname = "com.dev.".$app."_{$matches[0]}\n";
                                          ^^ new-line character
请注意,您正在向字符串末尾添加新行。您应该删除它,并用
var\u dump($debname)确认正确的名称如有必要,确保中间或结尾没有空格:

$debname = "com.dev.".$app."_{$matches[0]}";

哦,该死!我正式失明了,我怎么看不见
\n
::谢谢你,伙计!
$debname = "com.dev.".$app."_{$matches[0]}";