watt Posted May 6, 2006 at 06:45 PM Report #26086 Posted May 6, 2006 at 06:45 PM oi pessoal! alguem me pode dizer como faço upload de imagens pó meu site ?? só q com uma diferença, qd passo a imagem do pc para o site quero que ela fique com o nome = ao numero do campo ID
entering Posted May 6, 2006 at 07:24 PM Report #26089 Posted May 6, 2006 at 07:24 PM http://pt.php.net/manual/en/function.move-uploaded-file.php explicação http://pt.php.net/manual/en/features.file-upload.php tem um exemplo simples para o que tu queres basta mudar esta linha $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); sendo que ficaria algo do genero $uploadfile = $uploaddir.$_POST['id']; /* Estou a supor que o ID é dado no formulario */ Espero que tenha ajudado
David Pintassilgo Posted May 6, 2006 at 07:50 PM Report #26090 Posted May 6, 2006 at 07:50 PM Eu já fiz algo semelhante quando iniciei a aprendizagem do php. era algo assim do tipo: $uploaddir = $nome."/"; $uploadfile = $uploaddir . basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { echo "File upload...<b>OK</b>"; } //ficheiro no servidor, agora alterar para imagem.gif rename ($uploaddir.$file,$uploaddir."imagem.gif"); // no teu caso não é mudar para este nome mas sim para o que tu quizeres. penso que é esta a parte que intereca. cool stuffs to check. http://blog.zxcoders.com//
watt Posted May 6, 2006 at 10:55 PM Author Report #26103 Posted May 6, 2006 at 10:55 PM neste momento o site ainda esta a ser feito e tá com erros mas se quiserem podem acompnhar o meu projecto www.splashportal.com, tipo, akilo sp q escreve na bd dá erros, mas fica rd registado
deathseeker25 Posted May 6, 2006 at 11:48 PM Report #26113 Posted May 6, 2006 at 11:48 PM Tem um design muito limpo. Parabéns! 👍
Ped@ntilva Posted May 8, 2006 at 01:44 PM Report #26334 Posted May 8, 2006 at 01:44 PM neste momento o site ainda esta a ser feito e tá com erros mas se quiserem podem acompnhar o meu projecto www.splashportal.com, tipo, akilo sp q escreve na bd dá erros, mas fica rd registado Tive a ver o site e está com um bom design. Os erros vais ter de colocar aqui o código para podermos ajudar..
joninho Posted May 9, 2006 at 04:54 PM Report #26609 Posted May 9, 2006 at 04:54 PM eu tou com problemas ainda a fazer uploads :S já postei aki o problema: http://www.portugal-a-programar.pt/index.php?showtopic=102 mas ninguém respondeu... :\
Guest id194 Posted May 9, 2006 at 05:20 PM Report #26614 Posted May 9, 2006 at 05:20 PM De momento não tenho muito tempo para ler o que foi dito nos tópicos e perceber porquê que ainda não conseguiste por a funcionar, mas se precisares de um exemplo prático, onde tal funcionalidade esteja a funcionar correctamente, podes dar uma vista de olhos ao meu script de manutenção de fotologs. Podes sacar o script no meu site, exprimenta instala-lo numa directoria qualquer para testes e vê se o upload esta a funcionar, se estiver, vê o código que esta no nz_upload.php e vê o que fizeste de errado.
watt Posted May 26, 2006 at 01:00 AM Author Report #29556 Posted May 26, 2006 at 01:00 AM qd vou escrever na bd o nome do ficheiro aparece o link td não é forma de ser só o nome do file ? outro prob. qd tento gravar os files do upload no meu localhost ele dá erro, mas se poser esse codigo na net ele já copia na boa. como é que meto isto a gravar no meu localhost, qd estou a testar gosto de ter certezas...
mad16v Posted May 26, 2006 at 09:33 AM Report #29566 Posted May 26, 2006 at 09:33 AM Eu já fiz algo semelhante quando iniciei a aprendizagem do php. era algo assim do tipo: $uploaddir = $nome."/"; $uploadfile = $uploaddir . basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { echo "File upload...<b>OK</b>"; } //ficheiro no servidor, agora alterar para imagem.gif rename ($uploaddir.$file,$uploaddir."imagem.gif"); // no teu caso não é mudar para este nome mas sim para o que tu quizeres. Aproveitando o código já apresentado........ 😁 $uploaddir = $nome."/"; $nomeFicheiro = $_FILES['file']['name']; // AQUI ESTAS A GUARDAR NUMA VARIAVEL APENAS O NOME DO FICHEIRO $uploadfile = $uploaddir . basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) echo "File upload...<b>OK</b>"; // AGORA E SO GUARDARES A VARIAVEL $nomeFicheiro na BD Espero que assim já ajude. Online Portfolio: Nulldesign
mad16v Posted May 26, 2006 at 09:59 AM Report #29568 Posted May 26, 2006 at 09:59 AM Aproveito e deixo aqui a minha função para fazer o upload de imagens com restrições em: tipo de foto e tamanho da foto. function guardarImagemNoServidor($imagem) { $erro = "0"; $caminho = "images/Large/"; $caminhoThumb = "images/Small/"; $ficheiro = $imagem['name']; $imagemNova = $caminho.$ficheiro; if($imagem['size']>150000) $erro = "Tamanho da imagem superior a 150kb"; else { if(move_uploaded_file($imagem['tmp_name'], $imagemNova)) { if($imagem['type']=='image/gif') $type = 'gif'; elseif($imagem['type']=='image/png') $type = 'png'; elseif($imagem['type']=='image/pjpeg') $type = 'jpeg'; elseif($imagem['type']=='image/jpeg') $type = 'jpeg'; if ($type == 'gif') $handle = @imagecreatefromgif($imagemNova); elseif ($type == 'jpeg') $handle = @imagecreatefromjpeg($imagemNova); elseif ($type == 'png') $handle = @imagecreatefrompng($imagemNova); $x=imagesx($handle); $y=imagesy($handle); if($x > $y){ $max = $x; $min = $y; } if($x <= $y){ $max = $y; $min = $x; } $size_in_pixel = 80; $rate = $max/$size_in_pixel; $final_x = $x/$rate; $final_y = $y/$rate; if($final_x > $x) { $final_x = $x; $final_y = $y; } $final_x = ceil($final_x); $final_y = ceil($final_y); $black_picture = imageCreatetruecolor($final_x,$final_y); imagefill($black_picture,0,0,imagecolorallocate($black_picture, 255, 255, 255)); imagecopyresampled($black_picture, $handle, 0, 0, 0, 0,$final_x, $final_y, $x, $y); if ($type == 'gif') imagegif($black_picture,$caminhoThumb.'thumb_'.$ficheiro, $size_in_pixel); elseif ($type == 'jpeg') imagejpeg($black_picture,$caminhoThumb.'thumb_'.$ficheiro, $size_in_pixel); elseif ($type == 'png') imagepng($black_picture,$caminhoThumb.'thumb_'.$ficheiro, $size_in_pixel); imagedestroy($handle); imagedestroy($black_picture); } else $erro = "Erro a criar imagem"; } return $erro; } EDIT: esqueci-me de dizer que também cria thumbnails das imagens. Online Portfolio: Nulldesign
watt Posted May 26, 2006 at 10:00 AM Author Report #29569 Posted May 26, 2006 at 10:00 AM $destino = "../imgartigo"; //Pasta onde serão armazenados os uploads $uploaddir = "../imgartigo"."/"; $nomeFicheiro = $_FILES['file']['name']; // AQUI ESTAS A GUARDAR NUMA VARIAVEL APENAS O NOME DO FICHEIRO $uploadfile = $uploaddir . basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) echo "File upload...<b>OK</b>"; $insertSQL = sprintf("INSERT INTO produtos (artigo, descricao, img, preco, familia, nota) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['artigo'], "text"), GetSQLValueString($_POST['descricao'], "text"), GetSQLValueString($nomeFicheiro, "text"), GetSQLValueString($_POST['preco'], "text"), GetSQLValueString($_POST['familia'], "text"), GetSQLValueString($_POST['nota'], "text")); ele assim não deveria guardar o nome do file ?? os uploads no meu localhost não estão a passar os files 😁
mad16v Posted May 26, 2006 at 10:43 AM Report #29572 Posted May 26, 2006 at 10:43 AM 3 perguntas: 1ª Estás a executar esse script numa pasta e queres guardar numa pasta que está ao mesmo nivel certo? Exemplo: root | --imgartigo | --pastaOndeCorresScript Esta pergunta deve-se ao facto de teres $uploaddir = "../imgartigo"."/"; 2ª O Script devolve-te a frase "File Upload.... OK" ? 3ª Não estás a tentar fazer upload de um ficheiro maior que 2MB ? Existe um parametro no servidor apache (acho, ou no PHP) que te limita os uploads por defeito a 2MB. Online Portfolio: Nulldesign
watt Posted May 26, 2006 at 02:48 PM Author Report #29601 Posted May 26, 2006 at 02:48 PM não está a devolver o Ok o file que estou a manda é pequeno tem +- 500 kb
mad16v Posted May 26, 2006 at 03:11 PM Report #29602 Posted May 26, 2006 at 03:11 PM então vê lá bem a minha primeira questão das 3 perguntas..... parece-me que estás a tentar gravar a imagem numa pasta que não existe. experimenta lá assim: $uploaddir = "imgartigo/"; $nomeFicheiro = $_FILES['file']['name']; $uploadfile = $uploaddir.$nomeFicheiro; if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { echo "File upload...<b>OK</b>"; } else { echo "<b>Ocorreu um erro a fazer o upload do ficheiro</b>"; } $insertSQL = sprintf("INSERT INTO produtos (artigo, descricao, img, preco, familia, nota) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['artigo'], "text"), GetSQLValueString($_POST['descricao'], "text"), GetSQLValueString($nomeFicheiro, "text"), GetSQLValueString($_POST['preco'], "text"), GetSQLValueString($_POST['familia'], "text"), GetSQLValueString($_POST['nota'], "text")); Alterei o caminho para a pasta de destino, algumas pequenas correcções e uma mensagem de erro se não conseguir realizar o upload. Vê lá se já funciona.... Online Portfolio: Nulldesign
watt Posted May 26, 2006 at 08:19 PM Author Report #29647 Posted May 26, 2006 at 08:19 PM nop está td na mesma
watt Posted May 31, 2006 at 10:31 PM Author Report #30488 Posted May 31, 2006 at 10:31 PM $insertSQL = sprintf("INSERT INTO produtos (artigo, descricao, img, preco, familia, nota) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['artigo'], "text"), GetSQLValueString($_POST['descricao'], "text"), GetSQLValueString($nomeFicheiro, "text"), GetSQLValueString($_POST['preco'], "text"), GetSQLValueString($_POST['familia'], "text"), GetSQLValueString($_POST['nota'], "text")); aqui como é que escrevem a variavel $nomeFicheiro na bd ?? estou a ficar desesperado... se conseguisse por isto a escrever resolvia um grande problema...
entering Posted June 1, 2006 at 07:58 AM Report #30525 Posted June 1, 2006 at 07:58 AM não funciona porque? $nomeFicheiro se só contêm o nome do ficheiro, ao listar os valores da tabela produtos tens que por isso como link já para nao falar que isso apenas esta a escrever para a variavel $insertSQL essa string depois tens que fazer o query a BD reconheço ai code do dreamweaver, aproveitar os popups do dreamweaver para mexer em PHP e mySQL não te leva a aprender nada.
watt Posted June 1, 2006 at 10:17 AM Author Report #30542 Posted June 1, 2006 at 10:17 AM ok vou, vou refazer isto á lá páta, desde de que descobri q o dreamwaver fazia este tipo de coisas começei a utilizalo. mas em tempo fazia á mão.
joninho Posted June 1, 2006 at 04:18 PM Report #30603 Posted June 1, 2006 at 04:18 PM ok vou, vou refazer isto á lá páta, desde de que descobri q o dreamwaver fazia este tipo de coisas começei a utilizalo. mas em tempo fazia á mão. qual é o teu host? eu também nao cosneguia porcausa do host, axo eu :O lol pk tambem nao conseguia instalar um smf :S
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now