Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera bele?
Bom mais uma vez vim pedir ajuda.
É o seguinte estou terminando de criar um sisteminha, onde nele tem um campo de UPLOAD de imagems, este feito em flash e PHP,mas agora tenho criar algumas regras para o PHP o problema é que ñ entendo nada de PHP.
Vamos la, no flash esta da seguinte forma....
// Cod que se integra com PHP para fazer o UPLOAD//
stop();
var allTypes = new Array();
allTypes.push();
var listener = new Object();
listener.onSelect = function (file)
{
done.text = "Arquivo Selecionado";
filename_txt.text = file.name;
};
listener.onCancel = function (file)
{
done.text = "Cancelado";
};
listener.onOpen = function (file)
{
done.text = "Enviando: " + file.name;
};
listener.onProgress = function (file, bytesLoaded, bytesTotal)
{
progress.mode = "manual";
progress.setProgress(bytesLoaded, bytesTotal);
};
listener.onComplete = function (file)
{
done.text = "Arquivo " + file.name + " upload completo!";
};
listener.onHTTPError = function (file, httpError)
{
done.text = "Erro de HTTP :" + httpError;
};
listener.onIOError = function (file)
{
done.text = "IO Erro";
};
listener.onSecurityError = function (file, errorString)
{
(done.text = "Erro de Segurança: " + file.name + " ErrorString: " + errorString);
"Erro";
};
var fileRef = new flash.net.FileReference();
fileRef.addListener(listener);
vai.clickHandler=function(){
upload.enabled = true;
fileRef.browse();
}
upload.clickHandler = function ()
{
this.enabled = false;
fileRef.upload("http://localhost/upload/upload.php");
};
_global.style.setStyle("themeColor", "0x0099FF")
//________________________________________________________________________________//
No PHP esta assim...
<?PHP
ini_set('post_max_size', '50M');
ini_set('upload_max_filesize', '50M');
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['Filedata']['name']);
if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $target_path))
{
echo "O arquivo ". basename( $_FILES['Filedata']['name']). " foi enviado com sucesso";
}
else
{
echo "Ocorreu um erro ao tentar enviar, tente novamente!";
}
?>
//_________________________________________________________________________//
Galera o que preciso é que o PHP ao fazer UPLOAD renomeie a imagem tipo LOGO1, LOGO2, LOGO3, etc. Porem ao renomear a imagem caso ja tenha um nome repetido renomeia para um a mais, ex se a ultima for logo1 entao renomeia para logo2.
Tambem preciso que ele defina o tamanho X widht para 150 no maximo...
Galera se alguem entender de PHP da esta forma por favor.
Abraço...
Fala Crucifier, bele?
Bom de ante mão obrigado pela atenção...
É o seguinte conforme eu tinha explicado no começo do post não entendo nada de PHP,programo apenas em action 2.0 e isso faz com que eu não saiba usar o script que você me passou, ainda pior a parte do PHP que já estou usando esta funcionando perfeitamente com o flash e o que preciso é que este mesmo cod renomeie a imagem do upload...
Como eu poderia usar este scrip que você me passou no script que já tenho e se integra com o flash? Seria possivel?
Abraços.
>
Fala Crucifier, bele?
Bom de ante mão obrigado pela atenção...
É o seguinte conforme eu tinha explicado no começo do post não entendo nada de PHP,programo apenas em action 2.0 e isso faz com que eu não saiba usar o script que você me passou, ainda pior a parte do PHP que já estou usando esta funcionando perfeitamente com o flash e o que preciso é que este mesmo cod renomeie a imagem do upload...
Como eu poderia usar este scrip que você me passou no script que já tenho e se integra com o flash? Seria possivel?
Abraços.
Coloca essa função num arquivo php e no começo desse seu script coloca include("nomedoarquivo.php");
Ou então colocar a função no seu script, só que vai ficar meio grande
Fala Daniel, tranquilo?
Então testei da forma que você me passou e ñ deu certo,o flash exibe um erro de (ERRO HTTP:500), nao sei oque esta errado voce pode me ajudar?
Veja como eu fiz...
[/code]
//_________________________________________________________________________________________//
<?PHP
include("nomedoarquivo.php");
ini_set('post_max_size', '50M');
ini_set('upload_max_filesize', '50M');
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['Filedata']['name']);
if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $target_path))
{
echo "O arquivo ". basename( $_FILES['Filedata']['name']). " foi enviado com sucesso";
}
else
{
echo "Ocorreu um erro ao tentar enviar, tente novamente!";
}
?>
//______________________________________________________________________________________
Tambem fiz assim:
<?PHP
ini_set('post_max_size', '50M');
ini_set('upload_max_filesize', '50M');
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['Filedata']['name']);
if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $target_path))
{
echo "O arquivo ". basename( $_FILES['Filedata']['name']). " foi enviado com sucesso";
}
else
{
echo "Ocorreu um erro ao tentar enviar, tente novamente!";
}
?>
function resize($img, $thumb_width, $newfilename)
{
$max_width=$thumb_width;
//Check if GD extension is loaded
if (!extension_loaded('gd') && !extension_loaded('gd2'))
{
trigger_error("GD is not loaded", E_USER_WARNING);
return false;
}
//Get Image size info
list($width_orig, $height_orig, $image_type) = getimagesize($img);
switch ($image_type)
{
case 1: $im = imagecreatefromgif($img); break;
case 2: $im = imagecreatefromjpeg($img); break;
case 3: $im = imagecreatefrompng($img); break;
default: trigger_error('Unsupported filetype!', E_USER_WARNING); break;
}
/*** calculate the aspect ratio ***/
$aspect_ratio = (float) $height_orig / $width_orig;
/*** calulate the thumbnail width based on the height ***/
$thumb_height = round($thumb_width * $aspect_ratio);
while($thumb_height>$max_width)
{
$thumb_width-=10;
$thumb_height = round($thumb_width * $aspect_ratio);
}
$newImg = imagecreatetruecolor($thumb_width, $thumb_height);
/* Check if this image is PNG or GIF, then set if Transparent*/
if(($image_type == 1) OR ($image_type==3))
{
imagealphablending($newImg, false);
imagesavealpha($newImg,true);
$transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127);
imagefilledrectangle($newImg, 0, 0, $thumb_width, $thumb_height, $transparent);
}
imagecopyresampled($newImg, $im, 0, 0, 0, 0, $thumb_width, $thumb_height, $width_orig, $height_orig);
//Generate the file, and rename it to $newfilename
switch ($image_type)
{
case 1: imagegif($newImg,$newfilename); break;
case 2: imagejpeg($newImg,$newfilename); break;
case 3: imagepng($newImg,$newfilename); break;
default: trigger_error('Failed resize image!', E_USER_WARNING); break;
}
return $newfilename;
}
echo resize("test4.png", 120, "thumb_test4.png")
//_____________________________________________________________________________
[/code]
Esta dando o msm erro, pode me dar um a dica oque eu fiz de errado?
Valeu abraço...
Esse script manda por post a foto?? Ele funcionava antes?
Sim funcionava perfeitamente...
Quando eu tiro o complemento funciona normal.
Este sisteminha de upload em flash esta dentro projeto em flash que fiz, onde o usuario pode importar uma imagem para dentro da animação, porem para o flash receber esta imagem é necessario que eu diga o nome da img ex: logo1, logo2, logo3, etc. Ele esta funcionando normal,porem necessito que a parte em PHP renomeia a imagem,assim quando esta imagem for importada o flash reconhece pelo nome...
Galera se alguem mais entender de PHP da esta força estou precisando muito para concluir um projeto.
O erro que esta dando é ERRO HTTP:500
Para renomear utilize rename(), o php ta dando algum erro? Coloca error_reporting(E_ALL); para exibir os erros
Quando eu tiro o complemento funciona normal.
Como assim complemento?O php ta fazendo upload?
Ola Daniel, tranquilo?
Bom vou tentar explicar melhor.
Quando digo complemento me refiro ao script que o membro Crucifier postou, script este que você me explicou como usar, onde eu coloque fora do cod que eu ja tinha e não deu certo e tambem coloquei dentro do meu cod e tambem não funciona dando o ERRO: HTTP500 este erro aparece dentro do flash, no topo dente post esta tambem o action usando no flash que mostra em que situação este erro deve aparecer.
As imagens que sao updas nao serão publicadas somente armazenadas dentro de uma determinada pasta em meu servidor, quem ira buscar estas imagens sera o flash, onde esta o seguinte comando para busca as img logo1.loadMovie("logo1.png"),logo2.loadMovie("logo2.png"),logo3.loadMovie("logo3.png"), isso vai ate a logo de n°20, de forma que so podera ser feito upload de 20 logo, e por isso que preciso que o PHP que armazena estas imagens renomei para sequencia de logo1.png, logo2.png, logo3.png que vai no maxino ate a logo20.png.
Caso esta imagem nao seja renomeada para um numero dentro denta sequencia quando o usuario clicar na animação minha logo marca no flash não ira mostrar sua logo, pois nao foi renomeada dentro da sequencia acima. Hoje quando o usuario clica em importar logo marca ele deve renomear sua logo para qualquer nome que esteja detro da sequencia logo1.png, logo2.png, logo3.png caso contrario não vai exibir na animação do flash.
Abraços Daniel e obrigado pelas ajudas...
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['Filedata']['name']);
substitui
basename( $_FILES['Filedata']['name']) pelo nome do arquivo que você quer
Daniel vou testar alterando o nome,
se nao for pedir muito como faço para determinar o tamanho maximo da imagem, ou fazer com que o php ajuste de forma automatica ma medida programada, e ultima duvida, onde eu vou substituir o cod pelo nome e se este nome for logo1.png e o usuario fazer upload de uma imagem .jpg ao fazer upload ja convert para phg ou nao?
Abraço e valeu
Daniel fiz o texte e em parte deu certo, quando faço o upload ele renomeia a imagem, porem a estenção fica errada de forma que o flash não a reconhece, ou seja, onde voce disse que era p/ substituir pelo nome que eu queria coloque (teste.png)quando faço o upload o vou ver se deu certo esta "testepng) ele esta eliminando o ponto.
Sera que tem como resolver isso?
Abraço
Tem algumas classes que alteram o tamanho da imagem tem o script que o amigo ai de cima postou , e tem o canvas e varios tutoriais. Nao esquece de ver as permissoes no ftp
Daniel fiz o texte e em parte deu certo, quando faço o upload ele renomeia a imagem, porem a estenção fica errada de forma que o flash não a reconhece, ou seja, onde voce disse que era p/ substituir pelo nome que eu queria coloque (teste.png)quando faço o upload o vou ver se deu certo esta "testepng) ele esta eliminando o ponto.
Sera que tem como resolver isso?
Abraço
Na bliblioteca gd tem essas funções:
Eu acho que isso converte,
Ainda não sei mas como está seu script?
Daniel não sei como usar a galeria GD alem de que eu uso um servidor destes pagos, sendo assim não tenho acesso a galeria GD.
Abaixo esta o script que estou usando e com a alteração que você me passou.
<?PHP
ini_set('post_max_size', '50M');
ini_set('upload_max_filesize', '50M');
$target_path = "uploads/";
$target_path = $target_path . basename(logo1.png//Aqui foi onde eu alterei//);
if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $target_path))
{
echo "O arquivo ". basename( $_FILES['Filedata']['name']). " foi enviado com sucesso";
}
else
{
echo "Ocorreu um erro ao tentar enviar, tente novamente!";
}
?>
Eu fiz algo de errado, se você puder me ajudar com o nome ja vai ser muito bom, com relação ao tamanho deixa para la.
Abrigado abraço
$target_path = $target_path . basename(logo1.png//Aqui foi onde eu alterei//);
Você colocu logo1.png ao invéz de uma string, devia dar algum erro, ficaria "logo1.png"
Eu acho que não precisa usar essa função basename, já que você vai dar um novo nome a imagem.
Ai ficaria
$target_path = $target_path . 'logo1.png';
Tem certeza que não tem o GD, já viu o phpinfo()?
Cria um arquivo e coloca <?php phpinfo(); ?> e ve se ta "enabled"
Então Daniel este servidor não da acesso a GD, pois como eu havia dito é destes pago de só dão o espaço e o banco em SQL, a GD deve ter sim porque eu uso uma função noflash que salva tudo que o o usuario fez, e esta função trabalha com php para transformar em imagem as alterações do usuario. Quando fui usar esta função salvar estava especificado que seria necessario ter a GD instalada, mas eu acho que isso nao é manipulaveu ja que nem mostra no painel de controle do servidor que uso...
Eu acho que tem como carregar a bliblioteca gd pela função dl
dl(php_gd2.dll);
Ai você faz um upload no seu servidor da bliblioteca gd(eu acho que é php_gd2.dll)
Eu não sei se funciona, acho que sim, tenta ae. Espero que essa função não esteje desabilitada também.
:joia: :clap: :D
Daniel oque eu queria deu certo, fiz oque você disse coloquei "logo1.png" ao invez de logo1.png com "" deu certinho, quando faço upload de uma imagem seja .png, .jpg ou .jpeg ele renomeia para logo1.png independente da extenção. Bom se eu conseguir agora que o tamanho depois de feito upload seja de no maximo 150x150 pixel seria demais, pois ficaria perfeito.
Por este script que estou usando é possivel fazer?
Abraço e muito obrigado mesmo......
Você pode abrir a bliblioteca gd pela função dl()?
Faz um upload do php_gd2.dll
E coloca no script dl(php_gd2.dll); para abrir a dll
Mas antes você pode ver no phpinfo() se a função dl está desabilitada
Fala Daniel bele?
Cara sem querer explorar, mas você acha que é possivel determinar o tamanho da imagem quando feito o upload, isso usando este msm scrip que ja tenho?
Abraços...
Fala Daniel beleza?
Cara sera que é possivel determinar o tamanho que deve ficar a imagem após feito o upload, porem usando o msm scrip que eu ja tenho?
Da esta forma ai mais esta vez :joia:
Abraço...
Com um if da para fazer:
$_FILES['Filedata']['size'] < 3072
Se tiver mais de 3 mb vai dar false
Você quer limite de tamanho ou mudar o tamanho da imagem.
Se for mudar o tamanho da imagem ve se a função dl() está funcionando para tentar usar a bliblioteca GD
Fala Daniel, bele?
Cara sera que você pode me ajudar com relação ao tamanho da imagem, ouseja o php ja alterar o tamanho automatico, porem isso usando o scrip que ja tenho?
Abraços Junior
Fala Daniel, bele?
você poderia me ajudar com relação ao tamanho da imagem, ou seja, definir ao php que tamanho deve ficar a imagem apos feito upload?
Cara você precisa da bliblioteca gd, já viu se tem no phpinfo?
Se não tiver ve se tem a função dl para abrir a bliblioteca gd
SÓ isso? heuhuheuhe
para verificar se a imagem existe, utilize o file_exists
e para redimensionar a imagem, script no fórum é o que mais tem...
vou te mostrar um que vi no php.net/imagecreatefromjpeg
utilize, teste, altere, pesquise, só assim vai aprender alguma linguagem de programação
function resize($img, $thumb_width, $newfilename)
{
echo resize("test4.png", 120, "thumb_test4.png")
abraço