PDA

View Full Version : Bật module gì trong php.ini để có thể chạy code php trong file xml ?



yeuyeulam
24-06-2013, 14:12
Chả là mình có cái module flash gecko.vn/index.php/tao-ao/tu-thiet-ke-ao.html.
Cơ chế hoạt động là chèn chạy code php trên file .xml và dùng flash load file xml đó.
Có kiểu viết php trên .xml thế này :
======
<?
header ("Content-type: text/xml; charset=utf-8");
include_once ("../../inc/class.inc.php");
$oAoThun = $db->query("SELECT * FROM w_kieuao WHERE active = 1 AND deleted = 0");
?><data>
<?
$id = intval($_GET['id']);
if ($id)
{
$da = $db->fetch_data("SELECT * FROM customize_temp WHERE tempID=".$id." LIMIT 1");
$tmp = unserialize(base64_decode($da['data']));
//print_r($tmp);

if ($id==1000000)
{
echo '<feature>
<shirt id="1b7"></shirt>
<quantity><![CDATA[0|1|0|0]]></quantity>
<front><![CDATA[0,102,,0.5531634092330933,0,0,0.5531634092330933,3 4,29.45,48.15,54.15,34,29.45|0,76,,0.5057074427604 675,0,0,0.5057074427604675,37,99.05,50.15,50.2,37, 99.05]]></front>
<back><![CDATA[]]></back>
<left><![CDATA[]]></left>
<right><![CDATA[]]></right>
</feature>
';

/*echo ' <feature>
<shirt id="1b1"></shirt>
<quantity><![CDATA[5|5|1|1]]></quantity>
<front><![CDATA[0,a0,16711680;65280,2.3436408042907715,0,0,2.34364 08042907715,-72.75,-2.7,88.8,225,-72.75,-2.7|-1,16776960,0.8236326575279236,0.03839224576950073,-0.03876086696982384,0.8315370678901672,7.267008896 1720465,155.81664311885834,hồng lâu mộng,Myriad Pro,1,1,0,20,4,2,129.7,24.7]]></front>
<back><![CDATA[0,a1,65280;16711680,2.343794107437134,0,0,2.343794 107437134,-34.6,-2.7,88.8,225,-34.6,-2.7|-1,65280,1.0482503175735474,0,0,1.0583109855651855, 4.1930012702941895,162.71662197113037,hoàng laâu moäng,VNI-HLThuphap,0,0,1,20,4,2,117.15,58.75]]></back>
<left><![CDATA[0,a0,,-0.006823995616286993,-0.9350976943969727,0.9350976943969727,-0.006823995616286993,-1.45,90.3,90,35.95,-1.45,90.3]]></left>
<right><![CDATA[0,a7,,1,0,0,1,48,45,42,42,48,45]]></right>
</feature>';
*/
}

if ($da)
{
echo '
<feature>
<shirt id="'.$tmp['shirtId'].'"></shirt>
<quantity><![CDATA['.$tmp['quantity'].']]></quantity>
<front><![CDATA['.$tmp['front'].']]></front>
<back><![CDATA['.$tmp['back'].']]></back>
<left><![CDATA['.$tmp['left'].']]></left>
<right><![CDATA['.$tmp['right'].']]></right>
</feature>';

}
}
?>
<?
while($aAoThun = $db->next_record($oAoThun)){
$oMauAo = $db->query("SELECT * FROM w_kieuao_mau WHERE kieuaoID = '".$aAoThun['kieuaoID']."' AND active = 1 AND deleted = 0 ORDER BY displayorder ASC");
?>

<style thumb="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aAoThun['image']?>">
<?
while($aMauAo = $db->next_record($oMauAo)){
?>
<shirt price="<?=$aMauAo['giatien']?>" id="<?=$aAoThun['kieuaoID']?>b<?=$aMauAo['kieuaomauID']?>" color="0x<?=$aMauAo['chiso']?>">
<front thumb="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['thumb_front']?>" big="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['hinh_front']?>" />
<back thumb="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['thumb_back']?>" big="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['hinh_back']?>" />
<left thumb="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['thumb_left']?>" big="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['hinh_left']?>" />
<right thumb="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['thumb_right']?>" big="../data/<?=$aAoThun['folder']?>/gallery/fullsize/<?=$aMauAo['hinh_right']?>" />
</shirt>
<?
}
?>
</style>
<?
}
?>
</data>
=========
Code chạy trên xampp 1.7.1 và 1.8.1 thì ok cả nhưng khi up lên VPS cái flash đó k load được dữ liệu từ file .xml .
Mình cũng k rõ để chạy code đó cần load module hay hàm nào trên php.ini nữa.
Các pro biết chỉ mình với ạ.
phpinfo của e nó đây ạ :
http://123.30.212.117/phpinfo.php

truongson1810
21-08-2013, 19:05
Cái này không phải trong php.ini.

Nội dung file của bạn là trả về một XML content, và cái header nó define trả về XML file.

XML content được build bởi PHP code.

File này được đặt với đuôi là .html

Muốn đuôi .html executed được, bạn phải config Apache để nó process .html như .php.

Cần add config vô Apache config hoặc .htaccess

Đọc thêm ở đây

http://php.about.com/od/advancedphp/p/html_php.htm

Thậm chí bạn có thể save file đó với đuôi .xml và excute php code trong nó, như ở đây

http://board.phpbuilder.com/showthread.php?10356553-USING-PHP-CODE-IN-A-XML-FILE