Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal estou com uma dúvida f***, fui aprender como funciona esse script:
http://fredimachado.com.br/2009/08/17/multiupload-v0-3-upload-multiplo-de-arquivos/
até ae tudo bem, aprendi como ele age, a classe para fazer o redimensionamento é o WideImage e o arquivo ficou assim: (apesar com problemas na qualidade do thumbnail)
<?php
/**
* Conexão Mysql
*/
include('banco/config.php');
$file = $_FILES['Filedata'];
$album = (int) $_POST['id'];
$filename = $file['name'];
$query = "INSERT INTO categorias_fotos (album, file) VALUES ('$album', '$filename')";
mysql_query($query);
$path = $file['tmp_name'];
$new_path = "uploads/".$file['name'];
move_uploaded_file($path, $new_path);
// Vamos usar a biblioteca WideImage para o redimensionamento das imagens
require("WideImage/lib/WideImage.php");
// Carrega a imagem enviada
$original = WideImage::load($new_path);
// Redimensiona a imagem
$original->resize(760, 570)->saveToFile($new_path);
// Cria a miniatura
$ext = end(explode(".", $new_path)); // Pega a extensão do arquivo
$thumb = str_replace(".$ext", "_thumb.$ext", $new_path); // Substitui a extensão
$original->resize(100, 75, 'inside', 'down')->saveToFile($thumb, null, 100); // Redimensiona e salva
echo mysql_insert_id(); // Retorna o id da foto
?>
no código acima ele funciona sem problemas, insere tudo bonitinho, porém quando vou usar o merge (watermark ou marca d'agua) ele não funciona e acontece nada!!
documentação: http://wideimage.sourceforge.net/examples/merge-watermark/
usei todas as formas possiveis e nada eu imagino que o erro é quando eu chamo a imagem ( $marca = WideImage::load('watermark.png'); ) para executar a função o código ficou assim (ultima tentativa)
<?php
/**
* Conexão Mysql
*/
include('banco/config.php');
$file = $_FILES['Filedata'];
$album = (int) $_POST['id'];
$filename = $file['name'];
$query = "INSERT INTO categorias_fotos (album, file) VALUES ('$album', '$filename')";
mysql_query($query);
$path = $file['tmp_name'];
$new_path = "uploads/".$file['name'];
move_uploaded_file($path, $new_path);
// Vamos usar a biblioteca WideImage para o redimensionamento das imagens
require("WideImage/lib/WideImage.php");
// Carrega a imagem enviada
$original = WideImage::load($new_path);
$marca = WideImage::load('watermark.png');
// Redimensiona a imagem
$original->resize(760, 570)->saveToFile($new_path);
//marca d'agua
$novo = $original->merge($watermark, 10, 10, 30)->saveToFile($new_path);
// Cria a miniatura
$ext = end(explode(".", $new_path)); // Pega a extensão do arquivo
$thumb = str_replace(".$ext", "_thumb.$ext", $new_path); // Substitui a extensão
$original->resize(100, 75, 'inside', 'down')->saveToFile($thumb, null, 100); // Redimensiona e salva
echo mysql_insert_id(); // Retorna o id da foto
?>
porém infelizmente não deu certo, ele faz o redimensionamento e fica só nisso não cria thumbnail ou marca d'agua, alguém poderia me ajudar? obrigado! e mais uma curiosidade é possivel criar uma hash para diferenciar o nome desses arquivos!? até +!
Carregando comentários...