İstenmeyen \ karakteri

2 Cevap

php kodu:

<?php 
echo json_encode(glob("photos-".$_GET["folder"].'/*.jpg'));
?>

geri dönmek:

["photos-animaux\/ani-01.jpg","photos-animaux\/ani-02.jpg","photos-animaux\/ani-02b.jpg","photos-animaux\/ani-03.jpg","photos-animaux\/ani-04.jpg","photos-animaux\/ani-05.jpg","photos-animaux\/ani-06.jpg","photos-animaux\/ani-07.jpg","photos-animaux\/ani-08.jpg","photos-animaux\/ani-09.jpg","photos-animaux\/ani-10.jpg","photos-animaux\/ani-11.jpg","photos-animaux\/ani-12.jpg","photos-animaux\/ani-13.jpg","photos-animaux\/ani-14.jpg"]

Hangi \ karakteri hariç, neredeyse mükemmel ... o nereden geldi?

İşte onu çağırır jquery kodu:

$.get(  'photolister.php',
                    {'folder' : $(this).attr('href')},
                    function(data){startSlideshow(data);console.log(data);}
                );

2 Cevap

PHP otomatik dize kaçıyor.

Sen istenmeyen bölü kaldırmak için stripslashes kullanabilirsiniz.

Ayrıca glob () çağrı GLOB_NOESCAPE bayrağını kullanabilirsiniz.

PHP Manual: stripslashes
PHP Manual: glob

Belki de dışarı '/' kaçıyor?

JS json ayrıştırması neyse, o, önemli değil, muhtemelen bunu görmezden olacak ...