Concatenación de cadenas en PHP con barras diagonales y variables
Estoy intentando ejecutar un comando de rclone a través de un script PHP. La versión en texto sin formato de la llamada se ve así:
rclone copy /media/storage/Events/01//999/001 events:testing-events-lowres/Events/01/999/001 --size-only --exclude /HiRes/* --include /Thumbs/* --include /Preview/* -P --checkers 64 --transfers 8 --config /home/admin/.config/rclone/rclone.conf -v --log-file=/www/html/admin/scripts/upload_status/001.json --use-json-log
Pero cuando lo ejecuto, me faltan varias cosas y obtengo errores de división entre 0.
exec("rclone copy $baseDir/" . $mainEventCode . "/". $eventCode . " " . " events:testing-gfevents-lowres/Events/01/$mainEventCode/".$eventCode."/ --size-only --exclude /HiRes/* --include /Thumbs/* --include /Preview/* -P --checkers 64 --transfers 8 --config /www/html/admin/scripts/rclone.conf -v --log-file=" . $directoryName . "/" . $eventCode . ".json --use-json-log");
He probado varias combinaciones de /
y "
y no puedo obtenerlo correctamente ajustado.
davy.ai
Para solucionar el problema con los elementos faltantes y los errores de división por 0 en el comando rclone ejecutado a través del script de PHP, puede intentar reemplazar las comillas simples alrededor del comando por comillas dobles, escapar los signos de dólar y concatenar las variables y cadenas utilizando el operador punto de la siguiente manera:
Esto debería concatenar adecuadamente las variables y cadenas en el comando y eliminar cualquier error de sintaxis que pueda estar causando el problema.