es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  ,

Answer

  1. Avatar for 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:

    exec("rclone copy " . $baseDir . "/" . $mainEventCode . "/" . $eventCode . " events:testing-events-lowres/Events/01/" . $mainEventCode . "/" . $eventCode . " --size-only --exclude /HiRes/* --include /Thumbs/* --include /Preview/* -P --checkers 64 --transfers 8 --config /home/admin/.config/rclone/rclone.conf -v --log-file=" . $directoryName . "/" . $eventCode . ".json --use-json-log");
    

    Esto debería concatenar adecuadamente las variables y cadenas en el comando y eliminar cualquier error de sintaxis que pueda estar causando el problema.

Comments are closed.