¿Es posible que exista por cualquier tipo de valor en $_GET
o $_POST
que es no una matriz o cadena?
Para aquellos que leen el código mejor, es del todo posible para ejecutar este script simple de un servidor web y conseguir que se lance la excepción?
// crash-me.php
<?php
function must_be_array_or_string($value) {
if(is_string($value))
return;
if(is_array($value)) {
foreach($value as $subValue)
must_be_array_or_string($subValue);
return;
}
throw new Exception("Value is " . gettype($value));
}
if(isset($_GET))
must_be_array_or_string($_GET);
if(isset($_POST))
must_be_array_or_string($_POST);
Las cargas de archivos no están presentes en '$ _POST' o' $ _GET', debe verificar '$ _FILES' para obtener información sobre la carga de archivos (y aun así el contenido sigue siendo matrices y cadenas). – dcousineau
@dcousineau: ¿Estás seguro? Creo que el índice 'error' en' $ _FILES' contiene enteros, como 'UPLOAD_ERR_OK'. –