1
Ich habe eine Base64-Bildzeichenfolge, die ich über PHP exec() an eine C++ - Funktion übergeben möchte. Wenn jedoch Leerzeichen innerhalb einer Zeichenfolge vorhanden sind, funktioniert exec() nicht.Eine Textzeichenfolge über PHP senden exec()
$data="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAImCAMAAACSFogBAAAAAXNSR0IArs4c";
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
exec('./hello'.$data, $out,$return);
if(!$return)
{
echo 'created';
}
else
{
echo 'not created';
}
Wenn zwischen './hello '. $ Data' kein Leerzeichen ist, wird es nicht funktionieren, da es nicht als Parameter übergeben wird, sondern nur ein riesiger Dateiname. Warum nicht einfach 'str_replace ('data: image/png; base64,', '', $ str)? –
Also ändern Sie die Exec-Zeile: 'exec ("./Hallo $ data ", $ out, $ return);' Beachten Sie das Leerzeichen nach Hallo. – Nic3500
Ihre Frage ist was? Was ist, wenn in $ data Leerzeichen enthalten sind? – Nic3500