2015-01-20 122 views
0

我正在修改FedEx的API文件以適合我的網站,並且我正在努力根據軟件包總數動態定義動態。帶變量的PHP文件定義

$totalPackages = 4; 
for($i=1; $i<=($totalPackages-1); $i++) { 
    define('SHIP_CHILDLABEL_'.$i, 'shipchildlabel_'.$i.'pdf'); 
} 

後來在文件中...

for($i=1; $i<=($totalPackages-1); $i++) { 
    $fp = fopen(SHIP_CHILDLABEL_.$i, 'wb'); 
    fwrite($fp, ($childResponse->CompletedShipmentDetail->CompletedPackageDetails->Label->Parts->Image)); 
    fclose($fp); 
    echo '<a href="./'.SHIP_CHILDLABEL_.$i.'.pdf">'.SHIP_CHILDLABEL_.$i.'</a> was generated'; 
} 

當然,這將導致的fopen引用SHIP_CHILDLABEL_1.pdf,SHIP_CHILDLABEL_2.pdf和SHIP_CHILDLABEL_3.pdf代替shipchildlabel_1.pdf,shipchildlabel_2。 pdf和shipchildlabel_3.pdf。我怎樣才能使這些定義變得動態?

回答

3

您可以使用constant

$fp = fopen(constant('SHIP_CHILDLABEL_'.$i), 'wb'); 

Docs here

+0

是的,這是完美的。感謝您讓我知道contant()。我會在9分鐘內將此標記爲正確。非常感謝。 – radleybobins 2015-01-20 21:14:25

1

嘗試使用 「常量」 指令來處理動態常量名(定義)。

例如:

$i = 1; 
define("CONSTANT_".$i, 123); 
echo constant("CONSTANT".$i); 

這將這樣的伎倆。

Regards