renato6 Posted May 16, 2008 at 06:23 PM Report Share #185518 Posted May 16, 2008 at 06:23 PM Pessoal, tenho uma duvida. eu utilizo este codigo para mostar imagens no meu site em php: <?php $ligax=mysqli_connect('localhost','root'); if($ligax) { mysqli_select_db($ligax,'nomedabasededados'); //$l=$_GET['cod_produto']; if(!mysqli_error($ligax)) { $query ="select image_name, image_type, image_size,image_data from produto where cod_produto=".$_GET["pp"].""; $result=mysqli_query($ligax,$query); $row=mysqli_fetch_array($result); $type=$row["image_type"]; $name=$row["image_name"]; $size=$row["image_size"]; // get the file data $data=base64_decode($row["image_data"]); // output the file header("Content-type:$type"); header("Content-length:$size"); header("Content-Disposition: inline; filename=$name"); header("Content-Description: PHP Generated Data"); echo $data; } } ?> no entanto, o codigo que tenho que faz o upload das imagens,e tambem da para fazer upload de ficheiros. eu consigo fazer o upload de ficheiros para a base de dados mas depois nao consigo fazer o downoad (faz o download mas e de um ficheiro que nem tem extensao nem nada e que ocupa meia duzia de kbytes) dele. eu penso que a razao porque ele nao me traz o ficheiro correctamente seja por causa dos headers que estao ai. podem me dar uma vista de olhos nesse codigo e dizerem-me o que esta mal ou o que e que falta? cumps http://ptanime.com/ Link to comment Share on other sites More sharing options...
infopc Posted May 19, 2008 at 11:54 PM Report Share #186229 Posted May 19, 2008 at 11:54 PM posta ai o codigo de upload, so para verificar uma situação O que não tem solução, solucionado esta... Link to comment Share on other sites More sharing options...
renato6 Posted May 20, 2008 at 06:56 AM Author Report Share #186236 Posted May 20, 2008 at 06:56 AM <title>Adicionar Produto</title> <br> <h2 align="center">Adicionar Novo Produto</h2> <br> <?php $ligax=mysqli_connect(localhost,root); if(!$ligax){ echo '<p> Falha na ligação.'; exit; } mysqli_select_db($ligax,'diagonalley'); if(isset($_POST["adicionar"])){ $nome_produto = $_POST['nome_produto']; $descricao_produto = $_POST['descricao_produto']; $preco = $_POST['preco_unitario']; $iva = $_POST['iva']; $quant_stock = $_POST['quantidade_stock']; $stock_min = $_POST['stock_minimo']; $tipo_produto = $_POST['tipo_produto']; $promocao = $_POST['promocao']; $activo = $_POST['activo']; //if (($iva!=5) && ($iva!=12) && ($iva!=21)) // { // echo "<font face='verdana' size='-2' color='#000000'><br>Iva Inválido.</font>"; // $flag=false; // } // if((!is_numeric($preco)) or (strlen($preco)>9)) // { // echo"<font face='verdana' size='-2' color='#000000'><br>Preço Inválido - Apenas dados numéricos.</font>"; // $flag=false; // } // if(!is_int($stock_min)) // { // echo"<font face='verdana' size='-2' color='#000000'><br>Stock Minimo Inválido - Apenas dados numéricos inteiros.</font>"; // $flag=false; // } $insere="INSERT INTO produto (nome_produto,descricao_produto,preco_unitario,iva,quantidade_stock,stock_minimo,tipo_produto,promocao,activo) VALUES ('".$nome_produto."','".$descricao_produto."','".$preco."','".$iva."','".$quant_stock."','".$stock_min."','".$tipo_produto."',0,1)"; $result=mysqli_query($ligax,$insere); //echo $insere; if($result==1){ if ($_FILES['userfile']['error']==0){ $file_id=mysqli_insert_id($ligax); $file_name=$_FILES['userfile']['name']; $file_type=$_FILES['userfile']['type']; $file_size=$_FILES['userfile']['size']; $file_tmp=$_FILES['userfile']['tmp_name']; $data=base64_encode(file_get_contents($file_tmp)); $query="update produto set image_name='".$file_name."',image_type='".$file_type."',image_data='".$data."',image_size=$file_size where cod_produto=$file_id"; $result_up=mysqli_query($ligax,$query); //} else { echo "erro";} } //echo $query; echo "<p>Dados inseridos com sucesso</p><a href=\"index.php?pagina=admin\">Voltar</a>"; } else { echo "<p>Dados não inseridos</p>"; ?> <form method="post" enctype="multipart/form-data"> <table align="center" border="0"> <tr> <td><p>Nome</td><td><input type="text" name="nome_produto" size="50" maxlength="60"></p></td> </tr> <tr> <td><p>Descrição</td><td><textarea name="descricao_produto" cols="37" rows="5"></textarea></p></td> </tr> <tr> <td><p>Preço Unitário (€)</td><td><input type="text" name="preco_unitario" size="50" maxlength="10"></p></td> </tr> <tr> <td><p>Iva (%)</td><td><input type="text" name="iva" size="50" maxlength="5"></p></td> </tr> <tr> <td><p>Quantidade Stock</td><td><input type="text" name="quantidade_stock" size="50" maxlength="10"></p></td> </tr> <tr> <td><p>Stock Minimo</td><td><input type="text" name="stock_minimo" size="50" maxlength="10"></p></td> </tr> <tr> <td><p>Categoria do Produto</td><td><select name="tipo_produto"> <option value="Filmes">Filmes</option> <option value="Jogos">Jogos</option> <option value="Livros">Livros</option> <option value="Musica">Música</option> <option value="Acessorios">Acessórios</option> <option value="Vestuario">Vestuário</option> </select></p></td> </tr> <tr> <td><p>Imagem do Produto</td> <td><input name="userfile" type="file"></td> </tr> </table> <br> <table border="0" align="center"> <tr> <td colspan="2" align="center"><input type="submit" value="Adicionar" name="adicionar"></td> </tr> </table> </form> <?php } } else { ?> <form method="post" enctype="multipart/form-data"> <table align="center" border="0"> <tr> <td><p>Nome</td><td><input type="text" name="nome_produto" size="50" maxlength="60"></p></td> </tr> <tr> <td><p>Descrição</td><td><textarea name="descricao_produto" cols="37" rows="5"></textarea></p></td> </tr> <tr> <td><p>Preço Unitário (€)</td><td><input type="text" name="preco_unitario" size="50" maxlength="10"></p></td> </tr> <tr> <td><p>Iva (%)</td><td><input type="text" name="iva" size="50" maxlength="5"></p></td> </tr> <tr> <td><p>Quantidade Stock</td><td><input type="text" name="quantidade_stock" size="50" maxlength="10"></p></td> </tr> <tr> <td><p>Stock Minimo</td><td><input type="text" name="stock_minimo" size="50" maxlength="10"></p></td> </tr> <tr> <td><p>Categoria do Produto</td><td><select name="tipo_produto"> <option value="Filmes">Filmes</option> <option value="Jogos">Jogos</option> <option value="Livros">Livros</option> <option value="Musica">Música</option> <option value="Acessorios">Acessórios</option> <option value="Vestuario">Vestuário</option> </select></p></td> </tr> <tr> <td><p>Imagem do Produto</td><td><input name="userfile" type="file"> </td></tr> </table> <br> <table border="0" align="center"> <tr> <td colspan="2" align="center"><input type="submit" value="Adicionar" name="adicionar"></td> </tr> </table> </form> <?php } if($ligax) mysqli_close($ligax); ?> cumps http://ptanime.com/ Link to comment Share on other sites More sharing options...
fnds Posted May 20, 2008 at 02:17 PM Report Share #186274 Posted May 20, 2008 at 02:17 PM Este tópico está um show 🙂 Aposto que 1 décimo deste código não deve de ser preciso... Link to comment Share on other sites More sharing options...
renato6 Posted May 20, 2008 at 02:31 PM Author Report Share #186277 Posted May 20, 2008 at 02:31 PM o que e que tu dizes que nao e preciso? tirando as cenas que estao como comentario (//) tudo o resto e preciso alem disso o meu problema nao esta em fazer o upload mas sim em fazer o download cumps http://ptanime.com/ Link to comment Share on other sites More sharing options...
renato6 Posted May 20, 2008 at 10:07 PM Author Report Share #186370 Posted May 20, 2008 at 10:07 PM ninguem sabe como e que eu posso fazer isto? 😛 :(😄 :(😕 abraços http://ptanime.com/ Link to comment Share on other sites More sharing options...
psiico Posted May 20, 2008 at 11:56 PM Report Share #186403 Posted May 20, 2008 at 11:56 PM mas tu queres fazer download, do que propriamente? Psiico // Portfolio Link to comment Share on other sites More sharing options...
renato6 Posted May 21, 2008 at 12:12 AM Author Report Share #186405 Posted May 21, 2008 at 12:12 AM eu quero fazer download do ficheiro que faço upload para a base de dados. o codigo que esta em cima e o que faz o upload. e verdade que esta muito extenso mas esse codigo e para adicionar um produto e fazer o upload de uma imagem ao mesmo tempo. no entanto pesno que esse codigo acima que faz upload da imagem tambem da para fazer upload de um ficheiro nao e? pelo menos eu tentei e o ficheiro foi para a base de dados. so que nao o consigo fazer o download do ficheiro que fiz upload com o codigo que esta abaixo. <?php $ligax=mysqli_connect('localhost','root'); if($ligax) { mysqli_select_db($ligax,'nomedabasededados'); //$l=$_GET['cod_produto']; if(!mysqli_error($ligax)) { $query ="select image_name, image_type, image_size,image_data from produto where cod_produto=".$_GET["pp"].""; $result=mysqli_query($ligax,$query); $row=mysqli_fetch_array($result); $type=$row["image_type"]; $name=$row["image_name"]; $size=$row["image_size"]; // get the file data $data=base64_decode($row["image_data"]); // output the file header("Content-type:$type"); header("Content-length:$size"); header("Content-Disposition: inline; filename=$name"); header("Content-Description: PHP Generated Data"); echo $data; } } ?> cumps http://ptanime.com/ Link to comment Share on other sites More sharing options...
darky_miguel Posted May 21, 2008 at 03:44 PM Report Share #186473 Posted May 21, 2008 at 03:44 PM tipo em vez do guardares memo o ficeiro na base de dados guardas numa pasta no servidor depois gaurdas o caminho no sql e depois para fazer donload e so usares o caminho Link to comment Share on other sites More sharing options...
Battousai Posted May 21, 2008 at 03:53 PM Report Share #186474 Posted May 21, 2008 at 03:53 PM tipo em vez do guardares memo o ficeiro na base de dados guardas numa pasta no servidor depois gaurdas o caminho no sql e depois para fazer donload e so usares o caminho Ele não quer que se veja o caminho do download e proteger o ficheiro.renato qual é o erro, etc... Link to comment Share on other sites More sharing options...
renato6 Posted May 21, 2008 at 04:25 PM Author Report Share #186484 Posted May 21, 2008 at 04:25 PM tipo nao me da erro nenhum. so que quando carrego na palavra que tem o cenas para fazer download aparece-me o ficheiro e tudo isso direitinho so que quando clico em guardar, ele nao me traz o ficheiro mas traz um ficheiro qualquer sem extensao nem nada. cumps P.S. obrigado pelo conselho dark miguel mas eu queria mesmo fazer assim. http://ptanime.com/ Link to comment Share on other sites More sharing options...
renato6 Posted May 27, 2008 at 09:51 PM Author Report Share #187928 Posted May 27, 2008 at 09:51 PM pessoal andei a investigar e isto nao ia dar grande resultado porque se mete-sse alguns ficheiros, por mais pequenos que fossem os ficheiros, a base de dados iria ficar muito pesada e nao ia dar grande resultado. no entanto sei que ha uma maneira de guardar os ficheiros na pasta onde tenho o projecto e depois fazer o download a partir do site desses ficheiros, so que nao sei como fazer isso. podem-me ajudar? cumps http://ptanime.com/ Link to comment Share on other sites More sharing options...
fnds Posted May 28, 2008 at 09:10 AM Report Share #187976 Posted May 28, 2008 at 09:10 AM Ele não quer que se veja o caminho do download e proteger o ficheiro. renato qual é o erro, etc... http://pt2.php.net/manual/en/function.http-send-file.php, colocas o ficheiro numa pasta protegida em que só o php tenha acesso. Link to comment Share on other sites More sharing options...
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