2009-11-02 6 views
1

J'aime obtenir une liste dir en phpvar transfert entre php et javascript

glob("*.jpg"); 

ou

$dir = '.'; //requested directory to read 
$notthat = array('.', '..'); //what not to include 
$listedfiles = array_diff(scandir($dir), $notthat); // removed what not to include 

donc j'aime envoyer ce tableau à un javascript comme ça (diapositives = $ listedfiles)

function startSlideshow(slides) { .. do something..} 

Quelle est la meilleure façon de procéder?

Répondre

6

json_encode est votre ami pour ça. Aucune boucle n'est nécessaire. Il retournera une chaîne d'objet json pure que vous pourrez ensuite répercuter dans votre fichier js en utilisant PHP. Exemple:

var slides = <?php echo json_encode($filelistarray);?> 
function startSlideshow(slides) { .. do something..} 
0

PHP et Javascript ne peut pas interagir directement, cependant, vous pouvez produire Javascript de PHP le même texte de façon, vous pouvez simplement de sortie ou HTML:

<script type="text/javascript"> 
    var slides = []; 
    <?php 
    foreach ($listedfiles as $file) 
    { 
    echo "slides[] = '" . addslashes($file) . "';\n"; 
    } 
    ?> 

    // ... do js stuff 
</script> 

Fondamentalement, après avoir créé votre tableau en PHP , vous produisez le code JS pour créer le même tableau en javascript.

0

vous pouvez toujours faire un simple écho à un javascript:

echo ' <script type="text/javascript"> 
var filelist = []; 
'; 

foreach($listedfiles as $file) 
{ 
echo " filelist[] = $file; "; 
} 

echo "</script>"; 
Questions connexes