diff --git a/vas/rest/index.phtml b/vas/rest/index.phtml index d4b4cffa2cb95cad6d52b949c6476345429ae154..e4a1f7138187b1627581b3014b4f34ab4d386822 100755 --- a/vas/rest/index.phtml +++ b/vas/rest/index.phtml @@ -51,38 +51,45 @@ if (!empty($boundary)) { if (isset($headers['content-disposition'])) { $filename = null; preg_match( - '/^(.+); *name="([^"]+)"(; *filename="([^"]+)")?/', $headers['content-disposition'], $matches + '/^(.+); *name="([^"]+)"(; *filename="([^"]+)")?/', $headers['content-disposition'], $matches ); list(, $type, $name) = $matches; isset($matches[4]) and $filename = $matches[4]; // handle your fields here // Ce champ est un fichier ()? if (!empty($filename)) { + // Internet Explorer passe le chemin complet vers le fichier. $aFilenamePathInfo = pathinfo($filename); $filename = $aFilenamePathInfo['filename'] . '.' . $aFilenamePathInfo['extension']; - // - $_PUTDATA[$name . "_file"] = substr($body, 0, strlen($body) - 2); - $_PUTDATA[$name . "_name"] = $filename; - } else + + // Multiples documents + if (substr($name, -2) == '[]') { + $_FILES[substr($name, 0, -2)][] = array( + "file" => substr($body, 0, strlen($body) - 2), + "name" => $filename + ); + } + // Documents simples + else { + $_PUTDATA[$name . "_file"] = substr($body, 0, strlen($body) - 2); + $_PUTDATA[$name . "_name"] = $filename; + + // Utilisation de $_FILES + $_FILES[$name] = array( + "file" => substr($body, 0, strlen($body) - 2), + "name" => $filename + ); + } + } else { $_PUTDATA[$name] = substr($body, 0, strlen($body) - 2); - /* - switch ($name) { - // this is a file upload - case 'userfile': - file_put_contents($filename, $body); - break; - // default for all other files is to populate $data - default: - $_PUTDATA[$name."_file"] = substr($body, 0, strlen($body) - 2); - $_PUTDATA[$name."_name"] = $filename; - break; - } - */ + } } } } +error_log('$_POST: '. print_r($_POST, true)); +error_log('$_FILES: '. print_r($_FILES, true)); $aParamsJson = json_decode(file_get_contents('php://input'), true); if ($_PUTDATA != null) {