Téléversez un document
upload
POST https://collaboractor.com/api/v1/upload?login=&password=
login | Votre code d'identification. |
---|---|
password | Votre mot de passe. |
multipart/form-data | |
file | Contenu du document en binaire. |
$ curl -D - -X POST "https://collaboractor.com/api/v1/upload?login=abcdef&password=ABCDEF" -F "file=@file_sample_500kB.doc;type=application/msword"
NOTE : Utilisez une commande comme file -ib file_sample_500kB.doc
pour obtenir le type MIME du fichier en paramètre de l'argument file
.
Si le nom du fichier est invalide ou si le type de fichier spécifié n'est pas géré ou si la taille du fichier est supérieure à la taille maximale d'un fichier dans votre espace personnel, le service retourne l'erreur HTTP/1.1 400 Bad Request
.
Si le nombre de fichiers dans votre espace personnel a atteint la limite autorisée, le service retourne l'erreur HTTP/1.1 403 Forbidden
.
Si un fichier avec le même nom existe déjà dans votre espace personnel, le service retourne l'erreur HTTP/1.1 409 Conflict
.
Téléchargez le code des fonctions sendpost
et file_mime_type
de la librairie iZend.
Copiez les fichiers dans l'espace de votre application.
NOTE : Reportez-vous à la page Appelez l'API du service pour une description des fonctions sendpost
et file_mime_type
.
Ajoutez le fichier fileupload.php avec le contenu suivant :
- require_once 'sendhttp.php';
- require_once 'filemimetype.php';
Charge le code des fonctions sendpost
et file_mime_type
.
- function file_upload($login, $password, $file) {
Définit la fonction file_upload
.
$login
est votre code d'identification. $password
est votre mot de passe.
$file
est le chemin d'accès du document à téléverser.
- $curl = 'https://collaboractor.com/api/v1/upload' . '?' . 'login=' . urlencode($login) . '&' . 'password=' . urlencode($password);
Met $curl
à l'URL de l'action upload avec le code d'identification et le mot de passe du compte de l'utilisateur.
$login
et $password
doivent être échappés.
- $files=array('file' => array('name' => basename($file), 'tmp_name' => $file, 'type' => file_mime_type($file)));
Prépare la liste des fichiers attachés au POST : file
- le document avec le nom du fichier, le chemin d'accès au fichier et son type MIME.
- $response=sendpost($curl, false, $files);
Envoie la requête HTTP avec sendpost
.
Les arguments login
et password
sont déjà dans $curl
.
- if (!$response or $response[0] != 200) {
- return false;
- }
Si $response
vaut false
, le serveur est inaccessible.
Si $response[0]
ne contient pas le code de retour HTTP 200 Ok, une erreur d'exécution s'est produite.
En cas d'erreur, file_upload
retourne false.
- return true;
- }
Retourne true
si le document a bien été ajouté dans votre espace personnel
EXEMPLE
En supposant que vous avez sauvé les fichiers sendhttp.php, filemimetype.php et fileupload.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction file_upload
et appelez-la avec en arguments votre code d'identification et votre mot de passe, le chemin d'accès à un fichier géré par LibreOffice :
$ php -a
php > require_once 'fileupload.php';
php > echo file_upload('abcdef', 'ABCDEF', 'file_sample_500kB.doc') ? 'Ok' : 'Ko';
Ok
php > quit
NOTE : Si file_upload
retourne false
, éditez le code pour afficher $response
.
VOIR AUSSI
Appelez l'API du service, Éditez un document, Téléchargez un document , Supprimez un document
Commentaires