2013-02-28 85 views
-2

[已解決]包括php文件的結果javascript

我試圖從頭開始構建一個圖片庫。 我有一個php文件的目錄,每個都是相冊的縮略圖。每個這種結構:

<div class="pic"> 
    <img id="albcov" onclick="showAlbum(this)" src="someimg.jpg" 
    Alt="albumtitle" 
</div> 

相關JS:

function showAlbum(img){ 
    var albumname=img.alt 
    document.getElementById("albcont").innerHTML = [executed contents of: albumname  serverside php file]; 
}  

我怎麼能獲取所需的文件?

此php文件將生成指定相冊的縮略圖列表。 這反過來將所有完整的圖像顯示。

據我瞭解,它將需要某種阿賈克斯。

編輯:這裏是我現在使用的代碼:

function showAlbum(img){ 
    albumName = img.alt; 
    $('#albcont').load("/gallery/"+albumName+".php"); 
}  

其中albumname.php包含:

<p> 
<?php foreach (glob("[albumname]/*.php") as $filename) 

{ 
    include ($filename); 
} 
?> 
</p> 

,其中包括在該專輯中的所有PHP文件具有結構:

<div class="galpic"> 
<img onmouseover="displayImage(this)" src=" 
someimg.jpg 
" alt=" 
alt 
" /> 
<p> 
caption 
</p> 
</div> 

和JS的這個是:

function displayImage(img) { 
    var imgname= img.src 
    var albumname= img.alt 
    document.getElementById("imgview").innerHTML ='<img src="'+imgname+'"/>'; 

} 

例如,查看在lonjaselter.co.nr/gallery2.php

+0

也許這將幫助:http://stackoverflow.com/questions/7727446/javascript- get-output-from-separate-php-script – Kamil 2013-02-28 22:03:29

+0

當你說'我有一個php文件的目錄是...'你的意思是上面的結構EG有它的php文件嗎?如果是這樣的話,將它們包含在一個php中並不容易,所以你只需要加載一個文件而不是幾個文件。是的,如果您想通過js加載它們,則需要使用Ajax。查看jQuery Ajax,這會給你一個洞察。 – 2013-02-28 22:04:34

+0

「據我瞭解,它將需要某種類型的AJAX」。它會;你有沒有使用Ajax的經驗?你是否已經在使用某種Ajax庫或框架? – bfavaretto 2013-02-28 22:08:20

回答

1

您可以通過使用AJAX做到這一點。的jQuery可以這麼輕鬆的完成它更可以jQuery AJAX Api Doc

使用jQuery的Ajax請求的代碼是

/*i assume that img is id of the element that you are passing as parameter. in jQuery Way*/ 
function showAlbum(img){ 
    var imgId = '#'+ img, 
     albumName = $(imgId).attr('alt'); 
    $('#albcont').load("http://yourdomainname/path/to/"+albumname+".php"); 
} 
+0

感謝,偉大的作品。 – 2013-02-28 23:18:46