-3

文字列が正しく連結されない理由がわかりません。ここに私の2つのファイルがあります:


scan.php

<?php
function scan($directory)
{

$dir = opendir($directory);

$file= readdir($dir);
$file= readdir($dir);
echo "<ul>";
while (($file = readdir($dir)) !== false)
  {
    $path= $directory . $file;
    if(filetype($path)== "dir")
    {

     echo "<li class='folder' name= ";
     echo $path;
     echo ">";
     echo $file;
     echo"</li>";
    }
    if(filetype($path)== "file") echo "<li class='file' name= ". $path . ">" . $file . "</li>";

  }
  echo "</ul>";
closedir($dir);

}

menuNovita.php

<?php

 require "scan.php";
  $prefix= "../../novita/";
 scan($prefix); 
 ?>
 <script>
        var scandirectory= 
        var folders= $("li.folder");
        for (var i = 0; i < 5; i++) {
        $("li.folder").eq(i).on("mouseenter", {value: $("li.folder").eq(i).attr("name")}, function(event)
        {
            var path= $("li.folder").eq(i).attr("name");
            var string="<div>" + path + "</div>";
            $("#box").after(string);
            string= "<div class='box'>
                <?php 
                require 'scan.php';
                 echo " + path + ";
                scan(" + path + "); ?>
                </div>";
            $("#box:last").after(string);


        };

        </script>

次のエラー/警告が表示され続けます。

[2012 年 11 月 5 日 03:46:25 UTC] PHP 警告: opendir( + パス + ): dir を開くことができませんでした: /Users/natanconsigli/Desktop/pagina paolo/articoli/novita/scan にそのようなファイルまたはディレクトリはありません。 6行目のphp
[2012 年 11 月 5 日 03:46:25 UTC] PHP 警告: readdir() は、パラメーター 1 がリソースであると想定しており、8 行目の /Users/natanconsigli/Desktop/pagina paolo/articoli/novita/scan.php で指定されたブール値です。
[2012 年 11 月 5 日 03:46:25 UTC] PHP 警告: readdir() は、パラメーター 1 がリソースであると想定しており、9 行目の /Users/natanconsigli/Desktop/pagina paolo/articoli/novita/scan.php で指定されたブール値です。
[2012 年 11 月 5 日 03:46:25 UTC] PHP 警告: readdir() は、パラメーター 1 がリソースであると想定しており、11 行目の /Users/natanconsigli/Desktop/pagina paolo/articoli/novita/scan.php で指定されたブール値です
[2012 年 11 月 5 日 03:46:25 UTC] PHP 警告: filetype(): 14 行目の /Users/natanconsigli/Desktop/pagina paolo/articoli/novita/scan.php の + path + の Lstat が失敗しました
[2012 年 11 月 5 日 03:46:25 UTC] PHP 警告: filetype(): 23 行目の /Users/natanconsigli/Desktop/pagina paolo/articoli/novita/scan.php の + path + の Lstat が失敗しました
[2012 年 11 月 5 日 03:46:25 UTC] PHP 警告: readdir() は、パラメーター 1 がリソースであると想定しており、11 行目の /Users/natanconsigli/Desktop/pagina paolo/articoli/novita/scan.php で指定されたブール値です

助けてくれてありがとう。

4

1 に答える 1

6

実際のエラーは連結とは関係ありません。次の行と関係があります。

scan(" + path + ");

+ path +は に渡されscan()、実行されますopendir($directory)(または、opendir(" + path + ");)。私は(エラーごとに)、という名前のファイルがないと仮定している+ path +ため、 を参照して受け取っているエラーですopendir()。以降のすべてのエラーは、最初のエラーに基づいています。

javascript からpathPHP 関数に値を渡そうとしているようです。残念ながら、少しの ajax を使用するか、クエリ文字列変数を設定してページを更新しない限り、これを行うことはできません。

于 2012-11-05T04:23:18.923 に答える