2011-09-22 31 views
2

我正在研究drupal6網站,並且有一個顯示縮略圖圖像的頁面(鏈接到完整節點內容)。如何基於與PHP的寬高比將類應用於圖像?

圖像目前被允許具有基於父div的動態寬度,並且都是垂直和水平的。

我遇到的問題是應用於這些圖像的最大寬度會壓縮我的水平圖像。 我的問題是:如何使用PHP獲取具有唯一ID的圖像元素,發現它是水平還是垂直,並根據圖像的方面應用CSS類。

我需要把它放在我的template.php中作爲預處理,或者放在我的page.tlp.php中。 我無法使用Jquery/javascript,因爲我無法冒險使用FOUC。我也是按照說明將這個站點作爲多站點drupal安裝開發的,我不允許在我自己的站點目錄文件夾之外有任何東西。

我看了getimagesize()和getElementsByTagName(),但我不知道如何把它放在一起,因爲我的PHP是相當有限的。我希望這裏的某個人能指出我正確的方向,並給出我的答案。

由於 斯蒂芬妮

回答

1

基本上使用getimagesize提取寬度和圖像的高度。然後比較兩者。如果寬度大於高度,請打印image-horizontal,否則打印image-vertical。這是一個可以完成這項工作的示例代碼。它使用list來獲得由getimagesize數組返回的前兩個元素,它們是widht和height。然後echo語句中,我們做了檢查,並打印相應的類:

list($width, $height) = getimagesize($your_full_path_to_image); 
echo '<img src="'.$your_url_to_image.'" class="'.(($width > $height) ? 'image-horizontal' : 'image-vertical').'" />'; 
+0

謝謝大家的幫助,我只有一個問題,僞造了洽寬度 - 我把這個在文檔的頭部?或作爲IMG標籤的添加/替換? – StephanieF

+0

你應該把它作爲IMG標籤的替代品。 –

+0

我已經將您的代碼添加到我的測試中,我不確定在哪裏聲明$ your_full_path_to_image和$ your_url_to_image這兩個變量 - 我試圖添加與測試代碼位於同一文件夾中的圖像,並且只能獲取返回「水平」。我改變了代碼看起來像這樣'code'<?php list($ width,$ height)= getimagesize(「horizo​​ntal.jpg」); echo「 $ height)?'image-horizo​​ntal':'image-vertical'。'\」/>「; ?>'code'返回 StephanieF

0

作爲後續行動,我很抱歉地說,我從來沒有在這樣這個工作我已經在我原來的佈局題。 我不確定這是不可能的,在我的具體情況下是不可能的,或者如果我無法弄清楚。

我結束了使用直CSS做縮放,並通過添加背景