if (isset($uploaded_file)) { $exiftool = new ExifTool(""); $exiftool->getXMPdata($uploaded_file); $metadatas = $exiftool->getMetadata($uploaded_file); /* $data = array(array("SourceFile" => "{$metadatas[0]["SourceFile"]}", "XMP:Title" => "image", "XMP:Rights" => "image", "XMP:Creator" => "image", "XMP:City" => "image", "XMP:Country" => "image", "IPTC:Credit" => "image", "IPTC:Source" => "image" )); file_put_contents('../data/tmp.json', json_encode($data)); $exiftool->setMetadata($uploaded_file,"../data/tmp.json");*/ $model = new FileModel(pathinfo(basename($uploaded_file))['filename'] . ".json", "../data/"); $metas = $exiftool->getMetadata($uploaded_file); $model->saveToFile($metas); $img = array('name' => $metas[0]["XMP"]["Title"], 'creator' => $metas[0]['XMP']["Creator"], 'filename' => pathinfo(basename($uploaded_file))['filename'], 'url' => "app/uploads/" . $metas[0]["File"]["FileName"]); append_to_file(json_encode($img), "../../images.json"); } function append_to_file($data = array(), $file) { if (file_exists($file)) { $inp = file_get_contents($file); $tempArray = json_decode($inp, true); if (isset($tempArray) && !empty($tempArray)) { array_push($tempArray, $data); } else { $tempArray = [$data]; }
<?php require_once "../Model/FileModel.php"; use App\Model\FileModel; $model = new FileModel(pathinfo($_POST["url"])['filename'] . ".json", "../data/"); $json = $model->getFileContent(); $url = "app/uploads/"; ?> <a id="infos" class="close ti ti-close" xmlns="http://www.w3.org/1999/html"></a> <div class="container vertical-align-middle"> <h2 class="theme-title"> <?php echo $json["XMP"]["Title"]; ?> </h2> <div class="row"> <div class="col-xs-5"> <br/> <div class="row center-block input-group input-group-sm "> <div class="col-xs-12 col-md-7"> <!--<form action="app/View/flickerSearch.php" method="post" enctype="multipart/form-data">--> <select id="filtres" class="form-control" name="q[]" multiple="multiple" data-placeholder="Search for related images on flicker..." data-width="off" tabindex="-1"> <?php if (isset($json['IPTC']['Keywords'])) { $keywords = $json['IPTC']['Keywords']; } else { if (isset($json['XMP']['Subject'])) { $keywords = $json['XMP']['Subject']; } else {
public function uploadAction() { $uploaded_file = $this->uploader->upload(); if (isset($uploaded_file)) { $this->exiftool->getXMPdata($uploaded_file); $metadatas = $this->exiftool->getMetadata($uploaded_file); $data = array(array("SourceFile" => "{$metadatas[0]["SourceFile"]}", "XMP:Title" => "image", "XMP:Rights" => "image", "XMP:Creator" => "image", "XMP:City" => "image", "XMP:Country" => "image", "IPTC:Credit" => "image", "IPTC:Source" => "image")); file_put_contents('app/data/tmp.json', json_encode($data)); $this->exiftool->setMetadata($uploaded_file, "app/data/tmp.json"); $model = new FileModel(pathinfo(basename($uploaded_file))['filename'] . ".json", "app/data/"); $model->saveToFile($this->exiftool->getMetadata($uploaded_file)); return $this->homeAction(); //header('Location: http://127.0.0.1:82/projects/MVCProject/'); //die(); } else { } }