我花了一整天的时间试图解决这个问题,但事实并非如此。我已经尝试了所有的东西(因此为什么代码现在这么脏)才能找出原因。这会插入到SQL数据库中,但它的作用就是计算函数并将其添加到语句的开头。这是我的代码
function countLoc($artist,$title,$title_number) {
$fileURL = get_bloginfo('url') . "/music/samples/" . $title_number . "/" . $artist . "/" . $title . "/" ;
$artistURL = rawurlencode($artist);
$titleURL = rawurlencode($title);
if ($handle = opendir("../music/samples/" . $title_number . "/" . $artist . "/" . $title )) {
$dir = new DirectoryIterator('../music/samples/' . $title_number . "/" . $artist . "/" . $title );
foreach($dir as $file ){ $y += ($file->isFile()) ? 1 : 0;};
echo "a:".$y.":{i:0;";
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." ) {
$baseURL = get_bloginfo('url') . "/music/samples/" . $title_number . "/" . $artistURL . "/" . $titleURL . "/" ;
$fileURL = $baseURL . $entry;
$trimmed = trim($entry, ".mp3");
$entry = rawurlencode($entry);
$newBase = $baseURL . $entry;
if (isset($x)){
echo "i:" . $x . ";";
};
$countentry = strlen($trimmed);
$countartist = strlen($artist);
$newBase = strlen($newBase);
$x++;
echo "a:3:{s:24:\"releasetrack_track_title\";s:". $countentry .":\"". $trimmed ."\";s:24:\"releasetrack_artist_name\";s:". $countartist .":\"". $artist ."\";s:21:\"releasetrack_mp3_demo\";s:". $newBase .":\"". $baseURL . $entry ."\";}";
}
}
echo "}";
closedir($handle);
} else {
echo "";
}}
SQL中的值包含在看起来是整个函数中字符数的计数中 - 几乎就好像整个东西被包裹在strlen中而我无法为我的生活弄清楚为什么(见下文)。
s:1001“其余的回声”;
如果我完全取消了dir计数,那么strlen wrap就会消失。谁能摆脱一些光?
答案 0 :(得分:0)
我的整个问题与WP Import插件有关。我更新了它,它现在完全正常。谢谢你的帮助。