From 0315195dd170c300cb87b4dbf78fffa5dd371260 Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Tue, 8 Jan 2019 15:50:23 +0100 Subject: [PATCH] Upload multiple files 1 --- vas/rest/index.phtml | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/vas/rest/index.phtml b/vas/rest/index.phtml index d4b4cffa..e4a1f713 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) { -- GitLab