2015-01-20 121 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