This is the code I am using to write the image to the server:
<?php
// ImgUpload.php
require_once("settings.php");
$erro = false;
$erro_cont = 0;
$erro_mensagem = '';
$loja = false;
if(isset($_GET['loja']) && !empty($_GET['loja'])) if($_GET['loja'] == 1) $loja = true;
if(file_put_contents($logdir."upload.log", date("Y-m-d H:i:s") . "\n" . print_r($_FILES, true) . "\n" , FILE_APPEND | FILE_TEXT) < 1) {
$erro = true;
$erro_cont++;
$erro_mensagem .= $erro_cont . ') Log nao foi gravado' . "\n";
}
// Se trata de acesso para Upload?
if (count($_FILES) < 1 || !isset($_FILES['imagem'])) {
$erro = true;
$erro_cont++;
$erro_mensagem .= $erro_cont . ') Nao foi enviado arquivo em POST ou variavel POST nao recebe nome "imagem"' . "\n";
}
if(!$erro) {
$micro_date = microtime();
$date_array = explode(" ",$micro_date);
if($loja) $uploaddir_ = 'store/';
else $uploaddir_ = 'film/' . date('Y/m/',$date_array[1]);
$uploaddir = $uploaddir_base . $uploaddir_;
// Cria diretório se não existe
if (!file_exists($uploaddir)) {
if(!mkdir($uploaddir, 0755, true)) {
$erro = true;
$erro_cont++;
$erro_mensagem .= $erro_cont . ') Nao foi possivel criar o diretorio ' . $uploaddir . "\n";
}
}
// Verifica o tipo de arquivo
$extensao = '';
switch ($_FILES['imagem']['type']) {
case 'image/png':
$extensao = 'png';
break;
case 'image/jpeg':
$extensao = 'jpg';
break;
case 'image/gif':
$extensao = 'gif';
break;
case 'application/octet-stream':
$name_ext = end(explode(".",$_FILES['imagem']['name']));
if($name_ext == 'gif' || $name_ext == 'png' || $name_ext == 'jpeg' || $name_ext == 'jpe' || $name_ext == 'jpg')
$extensao = $name_ext;
else {
$erro = true;
$erro_cont++;
$erro_mensagem .= $erro_cont . ') Erro de tipo de arquivo (somente: png, jpg, jpeg, jpe e gif)' . "\n";
}
break;
default:
$erro = true;
$erro_cont++;
$erro_mensagem .= $erro_cont . ') Erro de tipo de arquivo (somente: png, jpg e gif)' . "\n";
break;
}
if(!$erro) {
$date = date("Ymd-His",$date_array[1]);
$uploadfile_name = $date . "-" . round($date_array[0]*1000000) .'.' . $extensao;
$uploadfile = $uploaddir . $uploadfile_name;
if (!move_uploaded_file($_FILES['imagem']['tmp_name'], $uploadfile)) {
$erro = true;
$erro_cont++;
$erro_mensagem .= $erro_cont . ') Nao foi possivel fazer o upload do arquivo. Veja mais:' . "\n" . print_r($_FILES['imagem'], true) . "\n";
}
}
}
if($erro) {
echo $erro_mensagem;
}
else {
header('Content-Type: application/xml; charset=utf-8');
echo '<?xml version="1.0"?>'."\n<root>\n<imagem>https://bigshopping.com.br/wp-content/uploads/" . $uploaddir_ . $uploadfile_name . "</imagem>\n</root>";
}
?>