2016-10-30 5 views
0

特定のディレクトリにすべてのファイル名を持つ配列を作成しました。私はそれをテストし、それをスクリーンに印刷しました。私はjavascriptコードでその配列を使用し、それもphp forループのための画面にメンバーを印刷したい。javascriptでPHP配列をループする

<!DOCTYPE html> 
<html> 
<head> 
<body> 

<?php 
$i=0; 
$files = scandir('uploads'); 
for($i=2; $i<count($files);$i++) { 
    echo '<br>'; 
    print_r($files[$i]); 
} 
?> 

<script> 
function func() { 

    var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[i];?>", ""); 

} 
</script> 

</body> 
</html> 

これは、配列$ファイルをループし、それを画面に出力し、私はJavaScriptでのオブジェクトにwindow.promptで同じ配列をループにしたい、そしてプロンプトポップアップのリストを印刷します。 bodyタグの終了前に

<script> 
function func() { 
    var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[i];?>", ""); 

} 
</script> 

しかし、これは、プロンプトオブジェクトに配列のいずれかを印刷しないように思われます。私がしなければ

は、しかし:

var list = prompt("<?php echo $files[2];?>", ""); 

それは実際にループせずに、配列の要素を出力します。しかし、一度にすべてを印刷したいのですが、どうしたらいいですか?

javascriptのPHPコードにprint_r()を使ってみましたが、違いはありません。

$file[4]のような正確な位置に配列を出力しますが、forループを使用しても配列は表示されません。

+0

あなたがそのようなPHPとJSを混ぜカント:$files[i]$files[$i]

var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[i];?>", ""); 

使用する必要があります。 jsが始まる前にすべてのPHPが終了します。 PHPでjs配列を作成し、js経由でループすることができます。 – nogad

+0

なぜ彼はできませんでした、PHPは要求に応じてjavascriptへの出力を行い、JavaScriptは静的テキストで続きます – Ultrazz008

+0

プロンプトにはすべてのファイルが含まれ、実行され、実行され、jsループにはなりません – nogad

答えて

0

変更$iからiは、近いものにする:

var id = prompt("<?php for($i=2; $i<count($files);$i++)echo $files[$i];?>", ""); 
+0

うわー、私は何とかそれを逃した馬鹿のように感じます、ありがとう。 – erere

+0

あなたは大歓迎です! – Ultrazz008