带有变量的 PHP 文件定义


Php file definition with variables

我正在修改FedEx的API文件以适应我的网站,并且我正在努力根据包裹总数使定义动态化。

$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。 如何正确地使这些定义动态化?

您可以使用

constant

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

文档在这里

尝试使用"constant"指令来处理动态常量名称(定义)。

例如:

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

这将解决问题。

问候