我从网址获取用户标识。 这是我目前所拥有的。我想用$ userid替换它,但我不知道如何。它不工作,我似乎无法找到正确的语法,请有人可以帮忙吗?如何使用目录路径的php变量?
function returnimages($dirname = "Photos/1")
基本上我试图创建一个使用HTML,PHP和JavaScript的照片幻灯片。在开始将PHP添加到我的代码之前,我做了一些工作。我有HTML和一个外部的JavaScript改变照片,他们淡入和退出循环。我有一个JavaScript的照片数组。现在我正在尝试将PHP添加到我的html中。我希望能够通过url获得userid,然后从中获取照片从特定路径到目录中的userid。然后,我希望能够创建一组这些照片并在我的javascript中使用它们。这里是嵌入在我的HTML我的PHP代码:
<?php
$user_id = $_GET['userid'];
print " Hi, $user_id ";
function returnimages($dirname = "Photos/1") { //will replace 1 with userid once something starts working
$pattern="(\.jpg$)|(\.png$)|(\.jpeg$)|(\.gif$)"; //valid image extensions
$files = array();
$curimage=0;
if($handle = opendir($dirname)) {
while(false !== ($file = readdir($handle))){
if(eregi($pattern, $file)){ //if this file is a valid image
//Output it as a JavaScript array element
echo 'galleryarray['.$curimage.']="'.$file .'";';
$curimage++;
}
}
closedir($handle);
}
return($files);
}
echo 'var galleryarray=new Array();'; //Define array in JavaScript
returnimages() //Output the array elements containing the image file names
?>
而且我的javascript:
$(文件)。就绪(函数(){
var photodisplay =
[
$("#photo1"),
$("#photo2"),
$("#photo3"),
$("#photo4"),
$("#photo5"),
];
//photodisplay[0].hide().fadeIn(3000);
var user = new Array();
[1, 2, 3, 4, 5];
// List of images for user one
/*var userphoto = new Array();
userphoto[0] = "Photos/1/1.jpg";
userphoto[1] = "Photos/1/2.jpg";
userphoto[2] = "Photos/1/1.jpg";
userphoto[3] = "Photos/1/1.jpg";
userphoto[4] = "Photos/1/1.jpg";*/
//preloading photos
var userphoto = <? echo json_encode($galleryarray); ?>;
function preloadingPhotos() {
for (var x=0; x<5; x++)
{
photodisplay[x].attr("src", "Photos/1" + userphoto[x]);
photodisplay[x].hide();
console.log("preloaded photos");
}
displayPhoto();
}
function displayPhoto(){
photodisplay[0].fadeIn(3000);
photodisplay[0].delay(3000).fadeOut(3000, function() { //first callback func
photodisplay[1].fadeIn(3000);
photodisplay[1].delay(3000).fadeOut(3000, function() { //second callback func
photodisplay[2].fadeIn(3000);
photodisplay[2].delay(3000).fadeOut(3000, function() { //third callback func
photodisplay[3].fadeIn(3000);
photodisplay[3].delay(3000).fadeOut(3000, function() { // fourth callback func
photodisplay[4].fadeIn(3000);
photodisplay[4].delay(3000).fadeOut(3000, function() {
setTimeout(displayPhoto(), 3000);
});
});
});
});
});
}// end of function displayPhoto
window.onload = preloadingPhotos;
}); //结束准备
我的网址,以获取用户名:
http://example.com/code.php?user_id=1
谢谢您的时间!
非常感谢!这工作! :') 谢谢。 – fondillusions
我仍然不明白为什么在函数参数中放置路径不起作用。不一样吗?困惑。但它的作品!你有任何想法如何在JavaScript中调用从PHP数组? :/ – fondillusions
不客气。问题在于你没有在函数参数中放置路径。你基本上是设置变量dirname,而忽略函数被调用时设置的变量。如果你想在JavaScript中放置一个php数组,这取决于你如何编码它。你把php放在一个完全的javascript,html或php页面的javascript中吗? – Anonymous