1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP+MSSQL - Inserir imagens bd

Discussão em 'Web Development' iniciada por sarocas, 26 de Maio de 2008. (Respostas: 31; Visualizações: 8735)

  1. sarocas

    sarocas Power Member

    Boas.
    Tou a trabalhar com PHP e MSSQL.
    Tenho de inserir imagens numa tabela e não estou a conseguir. Insiro mas ficam como <binary data> e depois não as consigo ler.

    Alguem me consegue ajudar?

    Obrigado.
     
  2. hya,
    tu não podes fazer upload de imagens para a base de dados...
    o que podes fazer é guardares o nome das imagens na base de dados, e fazeres upload das imagens para o servidor.
    e depois para mostrá-las vais buscar ao servidor a imagem cujo nome corresponde ao que tens na base de dados.

    Se tiveres duvidas em como fazer pergunta à vontade.
    Espero que ajude
     
  3. sarocas

    sarocas Power Member

    Poix...

    Oi.
    Pelo que tenho lido não é boa ideia mesmo colocar img na bd... O chefe é teimoso mas dou-lhe a volta.
    Se tiveres algum script que ajude... Agradecia imenso!!

    Obrigado!
     
  4. hostmake

    hostmake Power Member

    É possível por qualquer tipo de ficheiros na base de dados e as imagens não são excepção. Não costumo usar esse método, mas não vejo nenhuma razão porque seja "pior", se não quiserem ficheiros físicos é uma muita boa solução.

    Eu normalmente, costumo fazer um script que indexa os ficheiros, por pastas, datas, e organizado pelos nomes ou id's, conforme o que estou a inserir.

    É muito simples mesmo, deixo-te aqui um exemplo... depois se quiseres podes ir construindo aqui no fórum o teu código, que a gente ajuda.

    Sistema de Upload de Ficheiros
     
  5. AliFromCairo

    AliFromCairo Power Member

    Boas, podes utilizar o tipo de dados image se estiveres a usar o SQL Server 2005. Penso que não existem muitos tutoriais sobre este tema para PHP + MSSQL, mas devem existir bastantes para C#. Alternativamente, podes fazer da outra maneira que já aqui foi sugerida, que é guardares o path das imagens na base de dados.
     
  6. sarocas

    sarocas Power Member

    Oi!
    Tenho mesmo que guardar as imagens na bd.
    Acho que o problema maior é mesmo depois mostrar a imagem....
    É qu enão encontro nada sobre o assunto...
    Any help please....
     
  7. hostmake

    hostmake Power Member

    Apesar de não apoiar o uso desnecessário de acesso a BD para imagens, aqui vai um exemplo

    Usas o tipo de campo: BLOB

    Basicamente fazes o upload e depois tens que fazer encode a imagem

    PHP:
    $caminho_da_imagem $_FILES["nome_file_da_form"]['tmp_name'];
    $imagem chunk_split(base64_encode(file_get_contents($caminho_da_imagem)));
    E depois fazes um insert normal da variavel $imagem como value BLOB.

    Para veres a imagem podes simplesmente chamar o header:
    PHP:
    header('Content-type: image/jpeg');
    Fazes um select da base dados e ao camp blob fazes echo e decode:
    PHP:
    echo base64_decode($campo['imagem']);
     
  8. sarocas

    sarocas Power Member

    E este header vai ter de estar numa outra página ou n?
     
  9. hostmake

    hostmake Power Member

    Claro, e tem que ser o primeiro output da pagina onde estiver.
     
  10. sarocas

    sarocas Power Member

    Imagens

    Boas!
    Finalmente ja consigo guardar as imagens na bd e visualiza-las...
    Mas n da melhor maneira :mad: Aparecem umas com umas cores estranhas, outras parece apenas parte da imagem...

    Alguma ideia do que possa ser?

    Bigadito....
     
  11. sarocas

    sarocas Power Member

    Boas!
    ok. Criei um scriptzinho onde faço upload de imagens para a bd e dps visualiso na boa.

    O problema k estava a ter era da falta do chunk_split, por algum motivo n me lembrei de por :P

    Então toda lampeira fui colocar o codigo numa aplicação que estou a fazer para gestão de equipamentos. Carrega para a bd mas dps mostra o quadradinho com x.

    Ou seja, numa aplicação à parte funciona mas na aplicação do equipamento não....

    Alguem têm uma ideia do que poderá ser???

    Help, Please....
     
  12. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Vai buscar uma imagem qualquer directamente no browser e vê o código fonte. Vê se aparecem apenas "coisas estranhas" ou se há algum texto no início.
    Confirma que o header é a primeira coisa a ser enviada, e que todos os acessos à BD estão correctos.

    Para veres erros, vê o conteúdo da imagem (ou deixa aqui um link acessível por nós para vermos se existe algum problema).
     
  13. sarocas

    sarocas Power Member

    Boas. Não tenho como dar um link visivel por isso deixo o codigo a ver se ajuda...

    Tenho o index onde lá pro fim chamo a página teste. (o link a vermelho)
    Código:
    <?php
    header("Pragma: no-cache");
    session_start();
    include "./files/methods.php";
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 
    $ip = getenv("HTTP_CLIENT_IP");
    else if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 
    $ip = getenv("HTTP_X_FORWARDED_FOR");
    else if(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 
    $ip = getenv("REMOTE_ADDR");
    else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) 
    $ip = $_SERVER['REMOTE_ADDR'];
    else 
    $ip = "UNKNOWN";
     
    //Verifica se IP pertence a rede da CMM
    if(!(isset($_SESSION['auth'])))
    {
    if (isIPIn($ip))
    {
    header ('Location: ./ldap/auth.php');
    exit();
    }
    }
    if(!isset($_SESSION['auth']))
    $_SESSION['auth'] = 0;
    $_SERVER[ 'REQUEST_URI' ] = $_SERVER['HTTP_X_REWRITE_URL'];
    $url_array=explode("?",$_SERVER['REQUEST_URI']);
    $_SERVER['REQUEST_URI']= $url_array[0];
    if (!isset($_SERVER['DOCUMENT_ROOT']) || $_SERVER['DOCUMENT_ROOT'] == '') {
    if (isset($_SERVER['ORIG_PATH_TRANSLATED'])) {
    $path_translated = str_replace(array('\\', '//'), '/', $_SERVER['ORIG_PATH_TRANSLATED']);
    } else {
    $path_translated = str_replace(array('\\', '//'), '/', $_SERVER['PATH_TRANSLATED']);
    } 
    $_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], '', $path_translated);
    }
    if($_SERVER[ 'REQUEST_URI' ] == "/index.php")
    $_SERVER[ 'REQUEST_URI' ]= "/";
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html>
    <head>
    <title>:: <?php if (isset($_SESSION['user'])) echo $_SESSION['user']."@"; ?>sigiimm ::</title>
    <meta name="generator" content="TSW WebCoder">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <link href="<?php echo $http.$_SERVER['HTTP_HOST'].$dir; ?>/style/style.css" rel="stylesheet" type="text/css">
    <?php include "./javascript/js.php"; ?>
    </head>
    <body>
    <div id="header">
    <a href="index.php"><div id="header-left"></div></a>
    <div id="header-right">&nbsp;</div>
    </div>
    <div id="wrap">
    <?php
    include "files/db.php";
    if( isset($_POST['loginutilutilizador']) && isset($_POST['loginutilpalavrachave']))
    {
    $query = mssql_init("spro_utilizador_autentica",$link);
    $utilutilizador = $_POST['loginutilutilizador'];
    $utilpalavrachave = md5($_POST['loginutilpalavrachave']); 
    mssql_bind($query, "@utilutilizador", $utilutilizador, SQLVARCHAR); 
    mssql_bind($query, "@utilpalavrachave", $utilpalavrachave, SQLVARCHAR); 
    mssql_bind($query, "@utilutilizador", $no, SQLVARCHAR); 
    mssql_bind($query, "@utilpalavrachave", $pass, SQLVARCHAR); 
    $result = mssql_execute($query); 
    if(mssql_num_rows($result)){
    while ($row=mssql_fetch_array($result))
    {
    $_SESSION['nome'] = $row['utilnome'];
    $_SESSION['pass'] =$row['utilpalavrachave'];
    $_SESSION['user'] =$row['utilutilizador'];
    $_SESSION['id_utilizador'] =$row['id_utilizador']; 
    $_SESSION['id_grupo'] =$row['id_grupo']; 
     
    } 
    $_SESSION['auth'] = 1;
    }
     
    }
    else if ( isset($_SESSION['auth']) && $_SESSION['auth'] == 1 && isset($_SESSION['AD']) && $_SESSION['AD'] == 1) 
    {
    $query = mssql_init("spro_utilizador_verificalogin");
    $utilutilizador = $_SESSION['user'];
    mssql_bind($query, "@utilutilizador", $utilutilizador, SQLVARCHAR); 
    unset($utilutilizador);
    $result = mssql_execute($query);
    if(!mssql_num_rows($result))
    {
     
    $query = mssql_init("spro_utilizador_insereutilAD",$link);
    $utilutilizador = $_SESSION['user'];
    $utilnome = $_SESSION['nome']; 
    mssql_bind($query, "@utilutilizador", $utilutilizador, SQLVARCHAR); 
    mssql_bind($query, "@utilnome", $utilnome, SQLVARCHAR); 
    $result = mssql_execute($query);
    $row=mssql_fetch_array($result);
    $_SESSION['id_utilizador'] = $row[0];
    $_SESSION['id_grupo'] = 0;
     
    }
    else {
    $row=mssql_fetch_array($result);
    $_SESSION['id_utilizador'] = $row[0];
    $_SESSION['id_grupo'] = $row[2];
    if ($row[1] == 1)
    {
    $_SESSION['auth'] = 0;
    unset($_SESSION['nome']);
    unset($_SESSION['id_utilizador']);
    unset($_SESSION['user']); 
    unset($_SESSION['AD']); 
    }
    }
    }
    if ( (!isset($_POST['utilutilizador']) && isset($_SESSION['auth']) && $_SESSION['auth'] == 0) || ( isset($_POST['utilutilizador']) && isset($_SESSION['auth']) && $_SESSION['auth'] == 0) )
    { ?>
    <form name="loginform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
    <center>
    <table cellpadding="0" cellspacing="0" style="margin-top:100px; margin-bottom:100px; background: url('./images/login_middle.jpg') repeat-y;">
    <tr><td><img src="./images/login_top.jpg" name=""></td></tr>
    <tr>
    <td><br><p class="login">UTILIZADOR</p><input class="caixalogin" type="text" name="loginutilutilizador" size="10" maxlength="25"></td>
    </tr>
    <tr>
    <td valign="top"><br><p class="login">PALAVRA CHAVE</p><input class="caixalogin" type="password" name="loginutilpalavrachave" size="10" maxlength="20"></td>
    </tr>
    <tr>
    <td valign="top" ><br><input class="submitlogin" type="submit" value="Entrar"></td>
    </tr>
    <tr><td><img src="./images/login_bottom.jpg" name=""></td></tr>
    </table>
    </center>
    </form>
     
    <?php
    }
    if ( isset($_SESSION['auth']) && $_SESSION['auth']==1 && isset($_SESSION['nome']) && isset($_SESSION['user']) && isset($_SESSION['id_utilizador']) )
    {?> 
    <div id="menu">
     
     
    <?php 
    if(!isset($_SESSION['AD']))
    ?>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="./include/sair.php"><img src="./images/Sair.png" alt="Sair" height="50" width="50" border="0" onMouseover=src="./images/SairOn.png"; onMouseout=src="./images/Sair.png";></a>
     
     
    [COLOR=darkred]&nbsp;&nbsp;<a href="./include/teste.php"><img src="./images/Sair.png" alt="Teste imagens" height="50" width="50" border="0" onMouseover=src="./images/SairOn.png"; onMouseout=src="./images/Sair.png";></a>[/COLOR]
     
    </div>
     
    <div id="navegacao">
    <p class="title1"><BR>&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $_SESSION['user']; ?>@ menu inicial</p>
    </div>
    <?php } ?>
    </div>
    <div style="clear:both;"></div>
    <div id="footer"><div id="footer-left"></div><div id="footer-right"></div></div>
    </body>
    </html>
    
    o ficheiro teste.php é este:

    Código:
    <?php
    header("Pragma: no-cache");
    session_start();
    include "../files/methods.php";
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html>
    <head>
    <title>:: <?php if (isset($_SESSION['user'])) echo $_SESSION['user']."@"; ?>sigiimm ::</title>
    <meta name="generator" content="TSW WebCoder">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <link href="<?php echo $http.$_SERVER['HTTP_HOST'].$dir; ?>/style/style.css" rel="stylesheet" type="text/css">
    <?php include "../javascript/js.php"; ?>
    </head>
    <body>
    <div id="header">
    <a href="index.php"><div id="header-left"></div></a>
    <div id="header-right">&nbsp;</div>
    </div>
    <div id="wrap">
    <?php
    include "../files/db.php";
    if(isset($_POST['upload']))
    {
     
    $fileName = $_FILES['userfile']['name'];
    $tmpName = $_FILES['userfile']['tmp_name'];
    $fileSize = $_FILES['userfile']['size'];
    $fileType = $_FILES['userfile']['type'];
     
    $fp = fopen($tmpName, 'r');
    $content = fread($fp, $fileSize);
     
    $content = addslashes($content);
    fclose($fp);
     
    if(!get_magic_quotes_gpc())
    {
    $fileName = addslashes($fileName);
     
    }
    set_magic_quotes_runtime(0);//to desactive the default escape spacials caracters made by PHP in the externes files
    $img_binaire = chunk_split(base64_encode(file_get_contents($_FILES['userfile']['tmp_name'])));
     
    mssql_query("INSERT INTO fotos (name, type,size, content ) VALUES ( '$fileName' , '$fileType', '$fileSize', ' $img_binaire')");
     
    echo "<br>File $fileName uploaded<br>";
    ?> 
     
    <?php 
    } 
    ?>
    <div id="navegacao">
    <form name="search" action="<?php echo $_SERVER['HTTP_X_REWRITE_URL']; ?>" method="post" >
    <table>
    <tr><td style="text-align:center; padding-top:2px;">
    &nbsp;&nbsp;<a href="../index.php"><img src="../images/Retroceder.png" alt="Retroceder" height="30" width="30" border="0" onMouseover=src="../images/RetrocederOn.png"; onMouseout=src="../images/Retroceder.png";></a>&nbsp;&nbsp;
    </td></tr>
    </table>
    </form>
    </div>
    <div id="content">
    <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="2147483647"><input name="userfile" type="file" class="box" id="userfile">
    </td>
    <td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    <?php
     
     
    $query = "SELECT id, name, type, size, content FROM fotos";
    $result = mssql_query($query) or die('Error, query failed');
    if(mssql_num_rows($result) == 0)
    {
    echo "Database is empty <br>";
    } 
    else
    {
     
    while(list($id, $img_binaire) = mssql_fetch_array($result))
    {?>
     
    <img src="./visualizar.php?id=<?=$id;?>">
    <?php }
    }
    ?>
     
    </div>
    <div id="navegacao">
    <p class="title1"><BR>&nbsp;&nbsp;<?php echo $_SESSION['user']; ?>@ equipamento</p>
    </div>
    </div>
    <div id="footer"><div id="footer-left"></div><div id="footer-right"></div></div>
    </body>
    </html>
    
    e o visualizar.php este:
    Código:
    <?
    include "../files/db.php";
     
    header("Content-Disposition: attachment; filename=$name");
    header("Content-length: $size");
    header("Content-type: $type");
     
    $id = $_GET['id'];
    $query = "SELECT name, type, size, content FROM fotos WHERE id = '$id'";
    $result = mssql_query($query) or die('Error, query failed');
    list($name, $type, $size, $img_binaire) = mssql_fetch_array($result);
    echo base64_decode($img_binaire); 
     
    ?>
    
     
    Última edição pelo moderador: 24 de Junho de 2008
  14. hostmake

    hostmake Power Member

    não vi isto eu sarocas,

    ora bem, quase 100% que o erro está no teu uso abusivo dos headers, em especial quando eles gostam de estar sozinhos e na deles, no inicio da página.

    portanto, não te dá erro nenhum de headers? erro não digo, mas deve dar warnings, talvez tenhas os warnings desligados.

    outra coisa, o visualizar.php funciona, não funciona?

    podes-me colar o código que o visualizar.php (quando visto aparte, fora do script), mostra, no sitio onde tens a imagem?


    solução para o teu problema será, criares outro ficheiro php, chamado imagem.php

    e depois chamas <img src="imagem.php">, e assim poderás criar a imagem directamente e usar os headers a vontade.
     
  15. sarocas

    sarocas Power Member

    Oi!
    Não tenho warnings...
    Não sei se é isto que pedes mas o codigo do view source code dps de upload é este...
    Neste acso já tenho duas imagens na bd... Ele até demora um bocadinho a carregar as "supostas" imagens mas dps aparece a cruzinha.
    Qt ao novo ficheiro onde o chamo e o que lhe coloco dentro?

    Brigado...

    Código:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[URL]http://www.w3.org/TR/html4/loose.dtd[/URL]"> 
    <html>
    <head>
     <title>:: [EMAIL="[email protected]"][email protected][/EMAIL] ::</title>
    <meta name="generator" content="TSW WebCoder">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <link href="[URL]http://localhost/sigiimm/style/style.css[/URL]" rel="stylesheet" type="text/css">
    <script language="JavaScript" type="text/javascript">
    <!--
    function submitform(valor,id,formName,opt,page)
    {
    if (typeof(opt) != 'undefined') 
      document.forms[formName].opt.value = opt;
    else opt = 0;
    if (typeof(page) != 'undefined')
      document.forms[formName].page.value = page;
    else 
      document.forms[formName].page.value = 1;
    if (valor==0) document.forms[formName].submit();
    if (valor==6) document.forms[formName].submit();
    
    if (valor==1){
      document.forms[formName].action.value="new";
      if(id!=0) document.forms[formName].id.value=id;    
      document.forms[formName].submit();
      }
    else if (valor==2){
      document.forms[formName].action.value="edit";
      document.forms[formName].id.value=id;    
      document.forms[formName].submit();
      }  
    else if (valor==3){
      document.forms[formName].action.value="delete";
      document.forms[formName].id.value=id;  
      document.forms[formName].submit();
      }
    else if (valor==4){
      document.forms[formName].action.value="view";
      document.forms[formName].id.value=id;  
      document.forms[formName].submit();
      }  
    else if (valor==5){
      document.forms[formName].action.value="list";
      document.forms[formName].id.value=id;  
      document.forms[formName].submit();
      }
    else if (valor==7){
      document.forms[formName].action.value="img";
      document.forms[formName].id.value=id;  
      document.forms[formName].submit();
      }
    else if (valor==8){
      document.forms[formName].action.value="view2";
      document.forms[formName].id.value=id;  
      document.forms[formName].submit();
      }
         
    }
    // Title: Timestamp picker
    // Description: See the demo at url
    // URL: [URL]http://us.geocities.com/tspicker/[/URL]
    // Script featured on: [URL]http://javascriptkit.com/script/script2/timestamp.shtml[/URL]
    // Version: 1.0
    // Date: 12-05-2001 (mm-dd-yyyy)
    // Author: Denis Gritcyuk <[EMAIL="[email protected]"][email protected][/EMAIL]>; <[EMAIL="[email protected]"][email protected][/EMAIL]>
    // Notes: Permission given to use this script in any kind of applications if
    //    header lines are left unchanged. Feel free to contact the author
    //    for feature requests and/or donations
    function show_calendar(str_target, str_datetime) {
     var arr_months = ["January", "February", "March", "April", "May", "June",
      "July", "August", "September", "October", "November", "December"];
     var week_days = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
     var n_weekstart = 1; // day week starts from (normally 0 or 1)
     var dt_datetime = (str_datetime == null || str_datetime =="" ?  new Date() : str2dt(str_datetime));
     var dt_prev_month = new Date(dt_datetime);
     dt_prev_month.setMonth(dt_datetime.getMonth()-1);
     var dt_next_month = new Date(dt_datetime);
     dt_next_month.setMonth(dt_datetime.getMonth()+1);
     var dt_firstday = new Date(dt_datetime);
     dt_firstday.setDate(1);
     dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
     var dt_lastday = new Date(dt_next_month);
     dt_lastday.setDate(0);
     
     // html generation (feel free to tune it for your particular application)
     // print calendar header
     var str_buffer = new String (
      "<html>\n"+
      "<head>\n"+
      " <title>Calendar</title>\n"+
      "</head>\n"+
      "<body bgcolor=\"White\">\n"+
      "<table class=\"clsOTable\" cellspacing=\"0\" border=\"0\" width=\"100%\">\n"+
      "<tr><td bgcolor=\"#4682B4\">\n"+
      "<table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" width=\"100%\">\n"+
      "<tr>\n <td bgcolor=\"#4682B4\"><a href=\"javascript:window.opener.show_calendar('"+
      str_target+"', '"+ dt2dtstr(dt_prev_month)+"'+document.cal.time.value);\">"+
      "<img src=\"./images/prev.gif\" width=\"16\" height=\"16\" border=\"0\""+
      " alt=\"previous month\"></a></td>\n"+
      " <td bgcolor=\"#4682B4\" colspan=\"5\">"+
      "<font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"
      +arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</font></td>\n"+
      " <td bgcolor=\"#4682B4\" align=\"right\"><a href=\"javascript:window.opener.show_calendar('"
      +str_target+"', '"+dt2dtstr(dt_next_month)+"'+document.cal.time.value);\">"+
      "<img src=\"./images/next.gif\" width=\"16\" height=\"16\" border=\"0\""+
      " alt=\"next month\"></a></td>\n</tr>\n"
     );
     var dt_current_day = new Date(dt_firstday);
     // print weekdays titles
     str_buffer += "<tr>\n";
     for (var n=0; n<7; n++)
      str_buffer += " <td bgcolor=\"#87CEFA\">"+
      "<font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"+
      week_days[(n_weekstart+n)%7]+"</font></td>\n";
     // print calendar table
     str_buffer += "</tr>\n";
     while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
      dt_current_day.getMonth() == dt_firstday.getMonth()) {
      // print row heder
      str_buffer += "<tr>\n";
      for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
        if (dt_current_day.getDate() == dt_datetime.getDate() &&
         dt_current_day.getMonth() == dt_datetime.getMonth())
         // print current date
         str_buffer += " <td bgcolor=\"#FFB6C1\" align=\"right\">";
        else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
         // weekend days
         str_buffer += " <td bgcolor=\"#DBEAF5\" align=\"right\">";
        else
         // print working days of current month
         str_buffer += " <td bgcolor=\"white\" align=\"right\">";
        if (dt_current_day.getMonth() == dt_datetime.getMonth())
         // print days of current month
         str_buffer += "<a href=\"javascript:window.opener."+str_target+
         ".value='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();\">"+
         "<font color=\"black\" face=\"tahoma, verdana\" size=\"2\">";
        else 
         // print days of other months
         str_buffer += "<a href=\"javascript:window.opener."+str_target+
         ".value='"+dt2dtstr(dt_current_day)+"'+document.cal.time.value; window.close();\">"+
         "<font color=\"gray\" face=\"tahoma, verdana\" size=\"2\">";
        str_buffer += dt_current_day.getDate()+"</font></a></td>\n";
        dt_current_day.setDate(dt_current_day.getDate()+1);
      }
      // print row footer
      str_buffer += "</tr>\n";
     }
     // print calendar footer
     str_buffer +=
      "<form name=\"cal\">\n<tr><td colspan=\"7\" bgcolor=\"#87CEFA\">"+
      "<font color=\"White\" face=\"tahoma, verdana\" size=\"2\">"+
      "Time: <input type=\"text\" name=\"time\" value=\""+dt2tmstr(dt_datetime)+
      "\" size=\"8\" maxlength=\"8\"></font></td></tr>\n</form>\n" +
      "</table>\n" +
      "</tr>\n</td>\n</table>\n" +
      "</body>\n" +
      "</html>\n";
     var vWinCal = window.open("", "Calendar", 
      "width=200,height=250,status=no,resizable=yes,top=200,left=200");
     vWinCal.opener = self;
     var calc_doc = vWinCal.document;
     calc_doc.write (str_buffer);
     calc_doc.close();
    }
    // datetime parsing and formatting routimes. modify them if you wish other datetime format
    function str2dt (str_datetime) {
     var re_date = /^(\d+)\/(\d+)\/(\d+)\s+(\d+)\:(\d+)\:(\d+)$/;
     if (!re_date.exec(str_datetime))
      return alert("Invalid Datetime format: "+ str_datetime);
     return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
    }
    /*function str2dt (str_datetime) {
     var re_date = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/;
     if (!re_date.exec(str_datetime))
      return alert("Invalid Datetime format: "+ str_datetime);
     return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
    }*/
    function dt2dtstr (dt_datetime) {
     return (new String (
       dt_datetime.getDate()+"/"+(dt_datetime.getMonth()+1)+"/"+dt_datetime.getFullYear()+" "));
    }
    function dt2tmstr (dt_datetime) {
     return (new String (
       dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds()));
    }
    //-->
    </script>
    </head>
    <body>
    <div id="header">
     <a href="index.php"><div id="header-left"></div></a>
     <div id="header-right">&nbsp;</div>
    </div>
    <div id="wrap">
    <br>File images.jpg uploaded<br>  
    
    <div id="navegacao">
    <form name="search" action="/sigiimm/include/teste.php" method="post" >
    <table>
    <tr><td style="text-align:center; padding-top:2px;">
    &nbsp;&nbsp;<a href="../index.php"><img src="../images/Retroceder.png" alt="Retroceder" height="30" width="30" border="0" onMouseover=src="../images/RetrocederOn.png"; onMouseout=src="../images/Retroceder.png";></a>&nbsp;&nbsp;
    </td></tr>
    </table>
    </form>
    </div>
    <div id="content">
    <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="2147483647"><input name="userfile" type="file" class="box" id="userfile">
       </td>
          <td width="80"><input name="upload" type="submit" class="box" id="upload" value="  Upload  "></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
      
            <img src="./visualizar.php?id=2132">
      
            <img src="./visualizar.php?id=2133">
    
    </div>
    <div id="navegacao">
      <p class="title1"><BR>&nbsp;&nbsp;sara@ equipamento</p>
    </div>
    </div>
    <div id="footer"><div id="footer-left"></div><div id="footer-right"></div></div>
    </body>
    </html>
    
     
  16. hostmake

    hostmake Power Member

    Eu queria que abrisses no browser, por ex: o visualizar.php?id=x e verifica directamente ai no source, o que se passa.

    Eu agora vou sair do trabalho e tal, logo ajudo-te, mas vai por onde te estou a dizer que chegas lá.
     
  17. sarocas

    sarocas Power Member

    ahhh...já tou a perceber o k disses-te pa fazer...
    Mas agora tb ja n posso ver isso... Tenho tudo no trabalho e só lá volto na segunda :P

    Mas dps digo qq coisa...

    Obrigado pela disponibilidade....
     
  18. hostmake

    hostmake Power Member

    Cheguei, ok, depois diz qualquer coisa, caso não responda a um tópico onde já dei ajuda, é porque não vi, qualquer coisa, mandas pm.

    Bom f-d-s, e prolongado pelos vistos :007:
     
  19. sarocas

    sarocas Power Member

    Boas!
    Então é assim... Não consigo só chamar o visualizar.php?id=xx porque este script é chamado apartir de outro, o equipamento.php, atraves de javascript... isto tudo dentro do include...
    Não sei bem como explicar, não fui eu k fiz a aplicação de raiz, estou a adicionar funcionalidades...

    O que sei é k isto tá a ser complicado por as imagens a aparecer :mad:

    Bigado
     
  20. hostmake

    hostmake Power Member

    Se não estás a conseguir chamar o ficheiro visualizar.php, é óbvio que não ves imagens.

    Porque o visualizar ao ser chamado pelo <img src=""> também é um ficheiro independente, e se havia alguma coisa que ele precisava de 'ler' de outro não vai ler.

    OU seja <img src=""> é igual a abrires no browser visualizar.php?id=xx

    Se o 2º não dá, então o 1º também não, se tinhas um script que dava, compara-o com o do visualizar.php

    E explica outra vez a situação toda, que já estou 1 bocado esquecido!
     

Partilhar esta Página