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');

Docs here

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

例如:

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

这样就可以了。

此致