Foros del Web » Programando para Internet » PHP »

Carta de informe (solo expertos)

Estas en el tema de Carta de informe (solo expertos) en el foro de PHP en Foros del Web. Tengo una carta de informe, el problema que tengo es que tengo que poner una firma, no me sale la imagen, me sale solo la ...
  #1 (permalink)  
Antiguo 27/12/2007, 08:17
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 18 años, 2 meses
Puntos: 3
Carta de informe (solo expertos)

Tengo una carta de informe, el problema que tengo es que tengo que poner una firma, no me sale la imagen, me sale solo la ruta ejemplo (c:/imagenes/imagen.jpg), quiero que me salga la imagen, se me entiende?

Código PHP:
<?
//if (strstr($PHP_SELF, "/am_modules/"))  die ("You can't access this file directly...");
if ($id=='') die ("You can't access this file directly...");
if (
$id==' Ingresar') die ("Impresion no disponible");
include_once(
"am_config.php");
include_once(
"am_core/mysql.lib.php");
//include_once("../../am_config.php");
//include_once("../../am_core/mysql.lib.php");
$conn db_connect($config["host"],$config["database"],$config["user"],$config["password"]) or die( db_error() );
Header("Content-type: image/png");
//$sel_sql = "SELECT * FROM am_inspeccion, am_users WHERE (ins_digito LIKE '%".$session["name"]."%' limit 12)";
//rescato los valores de la inspeccion asociada al ID
$con_sql "select * from am_inspeccion where (ins_folio='$id') and (ins_digito LIKE '%".$session["name"]."%')";
//$con_sql = "select * from am_inspeccion where ins_digito LIKE '%".$session["name"]."%'"
    
$ret     db_query($con_sql) or die(db_error());
    
$row     db_fetch_array($ret);
    
$f_folio      $row["ins_folio"];
    
$f_codest     $row["ins_estado"];
    
$f_solicitx   $row["ins_nomemp"];
    
$f_fec_dig    $row["ins_fecing"];
    
$f_fdig_aa    substr($f_fec_dig,0,4);
    
$f_fdig_mm    substr($f_fec_dig,4,2);
    
$f_fdig_dd    substr($f_fec_dig,6,2);
    
$f_contacto   $row["ins_nomcon"];
    
$f_mailcon    $row["ins_mailcon"];
    
$f_foncon     $row["ins_fonocon"];
    
$f_proyecto   $row["ins_proyecto"];
    
$f_firma    $row["ins_firma"];
    
$f_inspector  $row["ins_inspec"];
    
$f_autoriza   $row["ins_autor"];
    
$f_observ      $row["ins_observ"];    
    
$f_cod_valida $row["ins_valida"];    
    
    
    
$encargado     $row["ins_digito"];
    
//$f_digitx=  $row["Encargado"];



    
$con_sql "SELECT realname,proyecto,cargo FROM am_users WHERE name = '$encargado'"//and (proyecto = '$proyecto')
    
$ret     db_query($con_sql) or die(db_error());
    
$row=db_fetch_array($ret);
    
$encargado $row["realname"]; 
    
$cargo    =  $row["cargo"];

// Rescato los valores del encabezado 
    
$head_sql "SELECT * FROM am_inspant where Proyecto = '$f_proyecto'";
    
$ret      db_query($head_sql) or die(db_error());
    
$row      db_fetch_array($ret);    
    
//$encargado=  $row["Encargado"];
    
$proyecto =  $row["Proyecto"];
    
$mandante  =  $row["Empresa"];


// Rescato los items asociados a la inspeccion.

    
$con_rpi "SELECT * FROM am_rl_equins WHERE rei_folio='$f_folio'"
              
." ORDER BY rei_idx_reg";
    
$ret      db_query($con_rpi) or die(db_error());
    
$num_resp db_num_rows($ret);

    if( 
$num_resp ){
      
$i=0;
          
$f_neto 0;
      while( 
$row=db_fetch_array($ret) ){

        
$ar_idequ[$i]  = $row["rei_idequi"];
        
$f_tipoeq[$i]  = $row["rei_nomequ"];
        
$ar_horpro[$i] = $row["rei_horpro"];
        
$ar_fecpro[$i] = $row["rei_fecpro"];
        
$ar_ubica[$i]  = $row["rei_ubica"];
        
$ar_resolu[$i] = $row["rei_resolu"];

        
$ar_marca[$i]  = $row["rei_marequ"];
        
$ar_modelo[$i] = $row["rei_modequ"];
        
$ar_serie[$i]  = $row["rei_serie"];
        
$ar_nromot[$i] = $row["rei_nro_motor"];
        
$ar_patente[$i]= $row["rei_patente"];
        
$ar_fecins[$i] = $row["rei_fecins"];
        
$ar_inspec[$i] = $row["rei_inspector"];
        
$ar_anio[$i]   = $row["rei_anio"];
        
$ar_observ[$i] = $row["rei_observ"];
        
$ar_destin[$i] = $row["rei_destino"];



        
$i++;
      }
      
$i_max $i;
    }


// Formato para impresion de mes en la fecha
if($f_fdig_mm=='01'$f_fdig_mm='Enero';
if(
$f_fdig_mm=='02'$f_fdig_mm='Febrero';
if(
$f_fdig_mm=='03'$f_fdig_mm='Marzo';
if(
$f_fdig_mm=='04'$f_fdig_mm='Abril';
if(
$f_fdig_mm=='05'$f_fdig_mm='Mayo';
if(
$f_fdig_mm=='06'$f_fdig_mm='Junio';
if(
$f_fdig_mm=='07'$f_fdig_mm='Julio';
if(
$f_fdig_mm=='08'$f_fdig_mm='Agosto';
if(
$f_fdig_mm=='09'$f_fdig_mm='Septiembre';
if(
$f_fdig_mm=='10'$f_fdig_mm='Octubre';
if(
$f_fdig_mm=='11'$f_fdig_mm='Noviembre';
if(
$f_fdig_mm=='12'$f_fdig_mm='Diciembre';




//Inicio Impresion Carta

$im imagecreatefromPng("base.png");
$black ImageColorAllocate($im000);

/* Encabezado de la carta de entrega de certificados */

$titulo="Referencia: Solicitud de inspección";
$numero ="N° $f_folio";
//$cod_valida="CODIGO WEB : $f_cod_valida";
$lugar="ANTOFAGASTA,";
$fecha="$f_fdig_dd de $f_fdig_mm  $f_fdig_aa ";
$text1="De nuestra consideración:";
$text2="Solicitamos a usted, realizar la inspección de nuestro equipo ";
$text3="de la empresa $f_solicitx.";   //$f_solicitx




ImageString($im5200130$titulo$black);
ImageString($im5310150$numero$black);
ImageString($im2440180$lugar$black);
ImageString($im2380210$cod_valida$black);
ImageString($im2540180$fecha$black);
ImageString($im278200"Señor."$black);
ImageString($im278215"$encargado"$black);
ImageString($im278230"$cargo"$black);
ImageString($im278245"$f_proyecto"$black);
ImageString($im278260"$"$black);
ImageString($im278320$text1$black);
ImageString($im278350$text2$black);
ImageString($im278370$text3$black);

/*   Llenado de la tabla */ 

$t1="N°SOLICITUD";
$t2="N° INFINS";
$t3="EQUIPO";
$t4="MARCA";
$t5="MODELO";
$t5="Id.Equipo";
$t6="EMPRESA";
$t7="RESULTADO";

//Titulos
//ImageString($im, 3,  82, 400, $t1, $black);
ImageLine($im78408570408$black);  
ImageString($im382410$t2$black);
ImageString($im3165410$t3$black);
ImageString($im3300410$t4$black);
ImageString($im3413410$t5$black);
ImageString($im3500410$t7$black);
ImageLine($im78427570427$black);  

$j=0;
// Inicio detalle 18 de separacion por linea
while($i_max>$j)
    {
    
$idx=$j+1;
    
ImageString($im2100428+18*$j$f_folio."-".$idx$black);
    
ImageString($im2165428+18*$j$f_tipoeq[$j], $black);
    
ImageString($im2300428+18*$j$ar_marca[$j], $black);
    
ImageString($im2415428+18*$j$ar_idequ[$j], $black);
    
ImageString($im2500428+18*$j$ar_resolu[$j], $black);

    
ImageLine($im78445+18*$j570445+18*$j$black);      

    
$j++;
    }

    
ImageLine($im7840878445+18*($j-1), $black);      
    
ImageLine($im150408150445+18*($j-1), $black);      
    
ImageLine($im290408290445+18*($j-1), $black);          
    
ImageLine($im407408407445+18*($j-1), $black);          
    
ImageLine($im490408490445+18*($j-1), $black);
    
ImageLine($im570408570445+18*($j-1), $black);      


//Fin detalle



//Pie de la carta

$saludo="Sin otro particular, saluda atentamente a usted.";
$inspector="$f_inspector";
$insp_cargo="INSPECTOR";
$ameco="AMECO CHILE S.A";
$recibido="Recibido Conforme";
$firma="FIRMA-NOMBRE";
$timbre="TIMBRE";


ImageString($im278775$saludo$black);
ImageString($im278850$inspector$black);
ImageString($im278870$insp_cargo$black);
ImageString($im278890$ameco$black);
ImageString($im2410,780$recibido$black);
ImageString($im2410,840$f_firma$black);  //aca quiero que se me vea la imagen
ImageString($im2430,880$firma$black);
ImageString($im2570880$timbre$black);


ImagePng($im);
?>
Muchas gracias y ojala me puedan ayudar
  #2 (permalink)  
Antiguo 27/12/2007, 08:27
Avatar de chilenozzz  
Fecha de Ingreso: junio-2004
Ubicación: Chile
Mensajes: 44
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Carta de informe (solo expertos)

Hola hulray:

Me temo que lo que hace la función es correcto, porque la función ImageString dibuja cadenas de string, por lo tanto si no le indicas mediante una función que lo que estás leyendo es una imagen, no puede mostrar el archivo.

Yo he hecho eso en algunas aplicaciones, y para mostrar una firma, simplemente lo hago mediante un <img src=$ruta_archivo />.

Pero quizá tengas alguna razón por la cual no usas el tag que te mencioné.

Saludos
  #3 (permalink)  
Antiguo 27/12/2007, 11:05
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: Carta de informe (solo expertos)

E probado el img src, pero nada, solo lo veo como escrito y no como imagen.

Alguien puede ayudar por favor?
  #4 (permalink)  
Antiguo 27/12/2007, 12:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Carta de informe (solo expertos)

Como te comento chilenozzz, ImageString es una funcion para imprimir un string de texto, para insertar la imagen que quieres tienes que usar otra funcion como ImageCopyMerge o alguna similar para insertar la imagen en donde quieres.

Saludos.
  #5 (permalink)  
Antiguo 27/12/2007, 14:37
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: Carta de informe (solo expertos)

Orale De Solo Ver El Nombre Del Post Me Impresono ( Solo Experto ).. Orale...

Asi Es, Completamente Deacuerdo Con Gatorv, Ese Imagecopymerge, Me Recuerda Cuando Programaba En C++ Y Para Hacer El Efecto De Que La Ventana Se Movia, Usavamos Algo Parecido, Para Que Copiara Los Graficos En Memoria Y Luego Dezpalzarlos, A K Tiempo. Jejeje
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #6 (permalink)  
Antiguo 27/12/2007, 20:32
Avatar de chilenozzz  
Fecha de Ingreso: junio-2004
Ubicación: Chile
Mensajes: 44
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Carta de informe (solo expertos)

Cita:
Iniciado por hulray Ver Mensaje
E probado el img src, pero nada, solo lo veo como escrito y no como imagen.

Alguien puede ayudar por favor?
que extraño... recuerda que el tag IMG es HTML, por lo tanto debes salirte del código PHP, pero puedes enviarle la ruta del archivo mediante una variable PHP, por ejemplo <img border="0" alt="" src="<?=$ruta_imagen?>" />

Tampoco debes usar este tag dentro de la función que estás utilizando, la que enviaste en tu primer post, porque obviamente interpretará el string y no el archivo al cual se hace referencia.

Espero puedas solucionar tu problema.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.