Informatica
Membro
Não sou programador, mas pediram-me para efectuar uma aplicação em php. O meu objectivo neste momento é fazer aparecer uma imagem que carreguei para a base de dados. O script está feito de modo a que apenas uma imgem seja seleccionada, no caso a que tiver o campo 'activa' = "S". Ficam aqui os scripts criados:
insere.php (a funcionar perfeitamente)
************************************************************
<html>
<head>
<title>Inserção de imagem / texto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if(isset($_POST['upload']))
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$mensagem = $_POST["mensagem"];
$activa = $_POST["activa"];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
mysql_connect("localhost", "xxx", "xxx") or die ("Erro na Ligação ao Servidor");
if ($activa=="S") {
$sql2 = "SELECT * from caixa where activa = \"S\"";
$res = mysql_db_query("bd", $sql2);
if ($res) {
$count=0;
while ($registo = mysql_fetch_array($res)) {
$reg[$count] = $registo['id'];
$count++;
}
}
for ($i=0; $i<=$count-1; $i++) {
$sql3="update caixa set activa='N' where id='".$reg[$i]."'";
$res2 = mysql_db_query("bd", $sql3);
if ($res2) {
print ("Activação da nova caixa efectuada com sucesso! <br>");
}
}
}
$query = "INSERT INTO caixa(nome, tipo, tamanho, ficheiro, mensagem, activa) VALUES('$fileName', '$fileType', '$fileSize', '$content', '$mensagem', '$activa')";
$result = mysql_db_query("bd", $query);
if (!$result) {
echo "Falha no Upload do Ficheiro!!!";
}else{
echo "<br>File $fileName uploaded<br>";}
mysql_close();
}
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246"><input type="hidden" name="MAX_FILE_SIZE" value="2000000"><input name="userfile" type="file" class="box" id="userfile">
</td>
<p> Mensagem / Descrição do Ficheiro!
<input type="text" name="mensagem" size=150>
<p>Activar?
<br>
<input type="radio" name="activa" value="S">Sim
<br>
<input type="radio" name="activa" value="N" checked>Não
<p> Upload do Ficheiro!
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
</body>
</html>
*******************************************************************
visualiza.php (em vez de aparecer a imagem, como era suposto, aparece o código da mesma)
*****************************************************************
<html>
<head>
<title>Conteudo Inicial</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
mysql_connect("localhost", "xxx", "xxx") or die ("Erro na Ligação ao Servidor");
$query = "SELECT * FROM caixa where activa ='S'";
$result = mysql_db_query("bd", $query) or die('Erro! Falha na pesquisa!');
if(mysql_num_rows($result) == 0){
echo "Nenhuma mensagem activa <br>";
}else{
if ($registo = mysql_fetch_array($result)) {
$ficheiro = $registo['ficheiro'];
$ficheiro = stripslashes($ficheiro);
$mensagem = $registo['mensagem'];
$tamanho = $registo['tamanho'];
$tipo = $registo['tipo'];
$nome = $registo['nome'];
print ("<br> $mensagem <br> $tamanho <br> $tipo <br>");
print ("<br> <br> <br> <be> <br>");
header("Content-type: $tipo");
echo "$ficheiro";
}else{
print("Site em Manutenção!");
}
}
?>
</body>
</html>
***************************************************************
Agradeço antecipadamente qualquer solução.
Cumprimentos,
Paulo Silva Pinto
insere.php (a funcionar perfeitamente)
************************************************************
<html>
<head>
<title>Inserção de imagem / texto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if(isset($_POST['upload']))
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$mensagem = $_POST["mensagem"];
$activa = $_POST["activa"];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
mysql_connect("localhost", "xxx", "xxx") or die ("Erro na Ligação ao Servidor");
if ($activa=="S") {
$sql2 = "SELECT * from caixa where activa = \"S\"";
$res = mysql_db_query("bd", $sql2);
if ($res) {
$count=0;
while ($registo = mysql_fetch_array($res)) {
$reg[$count] = $registo['id'];
$count++;
}
}
for ($i=0; $i<=$count-1; $i++) {
$sql3="update caixa set activa='N' where id='".$reg[$i]."'";
$res2 = mysql_db_query("bd", $sql3);
if ($res2) {
print ("Activação da nova caixa efectuada com sucesso! <br>");
}
}
}
$query = "INSERT INTO caixa(nome, tipo, tamanho, ficheiro, mensagem, activa) VALUES('$fileName', '$fileType', '$fileSize', '$content', '$mensagem', '$activa')";
$result = mysql_db_query("bd", $query);
if (!$result) {
echo "Falha no Upload do Ficheiro!!!";
}else{
echo "<br>File $fileName uploaded<br>";}
mysql_close();
}
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246"><input type="hidden" name="MAX_FILE_SIZE" value="2000000"><input name="userfile" type="file" class="box" id="userfile">
</td>
<p> Mensagem / Descrição do Ficheiro!
<input type="text" name="mensagem" size=150>
<p>Activar?
<br>
<input type="radio" name="activa" value="S">Sim
<br>
<input type="radio" name="activa" value="N" checked>Não
<p> Upload do Ficheiro!
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
</body>
</html>
*******************************************************************
visualiza.php (em vez de aparecer a imagem, como era suposto, aparece o código da mesma)
*****************************************************************
<html>
<head>
<title>Conteudo Inicial</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
mysql_connect("localhost", "xxx", "xxx") or die ("Erro na Ligação ao Servidor");
$query = "SELECT * FROM caixa where activa ='S'";
$result = mysql_db_query("bd", $query) or die('Erro! Falha na pesquisa!');
if(mysql_num_rows($result) == 0){
echo "Nenhuma mensagem activa <br>";
}else{
if ($registo = mysql_fetch_array($result)) {
$ficheiro = $registo['ficheiro'];
$ficheiro = stripslashes($ficheiro);
$mensagem = $registo['mensagem'];
$tamanho = $registo['tamanho'];
$tipo = $registo['tipo'];
$nome = $registo['nome'];
print ("<br> $mensagem <br> $tamanho <br> $tipo <br>");
print ("<br> <br> <br> <be> <br>");
header("Content-type: $tipo");
echo "$ficheiro";
}else{
print("Site em Manutenção!");
}
}
?>
</body>
</html>
***************************************************************
Agradeço antecipadamente qualquer solução.
Cumprimentos,
Paulo Silva Pinto
Última edição: