il simbolo "@" silenzia gli eventuali errori php che la funzione potrebbe generare. mai usarlo
soluzioni:
1- Rimuovere la stringa escapeshellarg dalle disable_functions nel file php.ini
2- Chiedi al tuo fornitore di host per rimuovere rimuovere la stringa escapeshellarg dalle disable_functions in php file .ini se non si ha accesso al file php.ini
3-creare il proprio escapeshellarg. La funzione scansiona solo le virgolette singole nella stringa data e quindi aggiunge singole virgolette attorno ad essa.
function my_escapeshellarg($input)
{
$input = str_replace('\'', '\\\'', $input);
return '\''.$input.'\'';
}
e fare qualcosa del genere:
//$cmd = 'file --brief --mime ' . escapeshellarg($file['tmp_name']) . ' 2>&1';
$cmd = 'file --brief --mime ' . $this->my_escapeshellarg($file['tmp_name']) . ' 2>&1';
Ma ciò che è meglio è per estende il Upload.php biblioteca e ri-Wright il _file_mime_type funzione invece di cambiare il nucleo di CodeIgniter in modo che non si perde se si volesse aggiornare CodeIgniter
Grazie, ho ricevuto questo errore oggi e la risposta ha funzionato come un incantesimo! –
è sufficiente ignorare l'avviso – Waqleh