On se base sur le tuto précédent pour les acquis.
1 - Votre site web fait appel à la méthode suivante pour déclencher la prise de photo :
http://www.karotz.com/api/karotz/webcam?action=photo&url=http://mywebsite/my_photo.php&interactiveid=xxx
L'url de call-back indiquée en paramètre va donc recevoir l'image envoyée par le Karotz.
2 - Installer le script suivant my_photo.php sur votre site : Zip
<?php define('MODE_DEBUG', true);
# Log de quelques infos...
#
if (MODE_DEBUG) {
if ($fh = fopen('_log.txt', 'a')) {
fwrite($fh, 'Params (key/value) : ['.PHP_OS.']'.PHP_EOL);
fwrite($fh, '--$_REQUEST--'.PHP_EOL);
foreach ($_REQUEST as $key => $value) fwrite($fh, $key.' = '.$value.PHP_EOL);
if (!empty($_FILES)) {
fwrite($fh, '--$_FILES--'.PHP_EOL);
foreach ($_FILES as $key => $value) fwrite($fh, $key.' = '.$value.PHP_EOL);
if (isset($_FILES['sendfile'])) foreach ($_FILES['sendfile'] as $key => $value) fwrite($fh, $key.' = '.$value.PHP_EOL);
}
fclose($fh);
}
}
# Quelques tests au cas où...
#
if (empty($_FILES)) exit;
if ($_FILES['sendfile']['error'] !== UPLOAD_ERR_OK) exit; # !== not !=
if ($_FILES['sendfile']['type'] != 'image/jpeg') exit;
if ($_FILES['sendfile']['size'] <= 0) exit;
# Le répertoire de destination
# Le nom donné à l'image reçue
#
$udir = 'my_dir/';
$ufile = $udir.basename( $_FILES['sendfile']['name']);
# Pas besoin de tester le résultat... sauf pour le logger
#
move_uploaded_file($_FILES['sendfile']['tmp_name'], $ufile);
?>
- L'image est alors disponible au format jpeg (640x480, 96dpi, 24bits) dans le répertoire my_dir.
- On pourra nommer les images à sa convenance en modifiant la variable $ufile.
$_POST
filename = snapshot_2011_04_21_22_40_17.jpg
interactiveid = bfe84c04-8396-4b71-953d-3630a6963e2b
correlationid = fb68d2b9-784f-46c7-9e65-0b8252d4097e
uuid = fb68d2b9-784f-46c7-9e65-0b8252d4097e
submit = send
$_FILES
sendfile = Array
name = snapshot_2011_04_09_22_40_17.jpg
type = image/jpeg
tmp_name = /var/log/tmp/phpEZiVvU
error = 0
size = 31445
L'interactiveID récupéré permet alors de faire le lien avec l'utilisateur qui a déclenché la prise de vue.
Aucun commentaire:
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.