PREGUNTAS CONTESTADAS - PHP

 Hay un total de 117 Preguntas.<<  >> 

    Pregunta:  53617 - FATAL ERROR AL CREAR EXCEL EN PHP
Autor:  Patricio Castro
Estimados:

Quisiera contar con sus conocimientos con respecto a un problema que se genera al crear un grafico excel desde php

existe un reporte que permite apreciar un grafico en excel, este reporte funcionaba bien hasta hace un tiempo con la version de Office 2000, sin embargo el servidor se actualizo y paso a office 2003, desde alli el reporte dejo de funcionar.

el error destacado es el siguiente:

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `Excel.sheet': ....etc

La Linea a la que apunta el error es en el archivo excel.php (ya que contiene la clase) es la siguiente:

$this->ex = new COM("Excel.sheet") or Die ("Did not instantiate Excel");

Basicamente aun no puedo hallar el motivo, sin embargo dentro de mi investigacion con respecto al tema, la posible solucion es acerca de la activacion de COM en el archivo de php. sin embargo, no quisiera realizar ningun cambio hasta estar lo suficientemente seguro.

Esperando una muy buena acogida a este dilema.
Atte. Patricio C.
  Respuesta:  Ignacio Casinelli Esviza
Patricio,

Yo lo uso con COM("Excel.Application") que te devuelve un objeto Aplicación y, a partir de allí, abro el Workbook y me funciona ok con PHP y Office 2003.

$miExcel = COM("Excel.Application");
$miExcel.Workbooks.Add(); // para agregar un libro en blanco
$miExcel.Workbooks.Open("c:\algo.xls") // para abrir un libro existente

¿Tal vez sea un problema de configuración... de instalación...? por ejemplo, probá hacer COM("Word.Document") a ver si te deja crear un documento Word. Si el error sigue es que directamente hay algún tema con la instalación de Office 2003.

Saludos,
Ignacio Casinelli Esviza

    Pregunta:  53795 - GENERAR UN PDF CON PHP SE IMPRIMA = EN IMPRESORAS DISTINTAS
Autor:  josma Guerra
Tengo un codigo php que genera un reporte pdf que debe encajar en un formato especifico, tengo una máquina de prueba con impresora hp 1200 y lo logro cuadrar, pero al probarlo desde otro equipo con impresora del mismo modelo se corren las líneas, y si el controlador utilizado es hp 1200 ps, descuadra por completo la salida.
que puedo hacer para evitar esto.
  Respuesta:  Ignacio Casinelli Esviza
Josma,

No creo que te ayude, pero por las dudas. La impresión del PDF no podés manejarla con PHP, dado que el servidor HTTP le envía el PDF al navegador (programa cliente) y es éste el que se ocupa. No podés hacer mucho.

Chequeá que las opciones de impresión sean las deseadas. El visor de PDF puede tener opciones como "Encajar en página" o "Ajustar a página" o cosas por el estilo que hagan que en una máquina salga bien y en otra mal. Eso lo tenés que chequear en las Opciones o Preferencias del visor PDF.

Saludos,
Ignacio Casinelli Esviza

    Pregunta:  54173 - COMO LEER UN ARCHIVO DE DISKETTE EN PHP!!!
Autor:  gaston gomez
que tal amigos.aqui les escribo para pedirles ayuda sobre un tema.resulta que en un sistema que estoy haciendo necesito leer un archivo que esta guardado en un diskette, mediante php.el tema es que no se como hacer eso.despues de recuperar ese archivo tengo que extraer una parte del mismo y compararlo contra un campo de una tabla de una base de datos hecha en sql server 2000.les agradeceria infinitamente que me ayudaran ya que es de suma urgencia!!!
desde ya muchas gracias.
  Respuesta:  Marco Antonio Paredes Cruz
Hola que tal.
Bueno la solución es un poco complicada.
Primeramente con PHP no puedes trabajar en modo cliente, o sea que no puedes saber por ningún motivo que archivos hay del otro lado o sea del que abre el navegador (cliente) pero si puedes saber que archivos hay en el servidor.
PHP tiene una librería llamada "Funciones del sistema de Archivos" que está en la ayuda bien explicado.
puedes usar:
dirname -- Devuelve la parte del path correspondiente al directorio
file -- Lee un archivo entero hacia una matriz
fopen -- Abre un archivo o URL
etc, pero sólo de parte del servidor, mas bien te permiten crear archivos y moverlos, pero para el cliente te sugiero lo siguiente:
1.- Primero con JavaScript listas las unidades del cliente que tiene, incluso puedes listar sus directorios y archivos.
2.- Entonces haces un recorrido y si identificas al archivo entonces lo devuelves como value a un campo de formulario de tipo archivo para hacerle un upload.
3. Si sabes cual es el archivo con seguridad o el nombre del archivo entonces puedes ocultar el campo de formulario tipo archivo con una capa encima con css o con html, como gustes.
4.- Si no estas seguro del archivo entonces puedes preguntarle al cliente sobre el archivo.
5. Finalmente envias los datos del formulario y ahi recien con php puedes recorrer el archivo caracter por carter e identificar la variable o datos que estés buscando, pero solamente si el archivo que querías se haya subido a tu servidor.

    Pregunta:  54278 - CARGAR IMAGEN AL ZIP SIN GUARDARLA AL DISCO DURO
Autor:  federico gonzalez
lo que quiero saber es si es posible hacer una imagen en gd, y pasarla a un zip, pero sin guardarla primero en el disco duro
mi codigo es este

$zip = new ZipArchive();
$filename = "test1.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit(\"cannot open <$filename>\\n\");
}

$imgnew=imagecreatetruecolor(8,8);
$img=imagecreatefromjpeg("mifoto.jpg");
imagecopyresized($imgnew,$img,0,0,0,0,8,8,75,75);

$zip->addFromString("imgenzipjpg", $imgnew);
//accesar al contemido de la variable imgnew y escribirla en un zip

sin hacer imagejpeg($imgnew,"imagenhd.jpg"); y depues agregarla, ya que escribirla en el disco duro , requiere de mas tiempo de procesamiento

de antemano muchas gracias
  Respuesta:  carlos s
se usa el ob asi cachas el cache, pero lo guarda en una variable, y no lo muestra en pantalla ni lo guarda en el disco duro

ob_start();
imagejpeg($imgnew,NULL,100);
$imgnew=ob_get_contents();
ob_end_clean();

$zip->addFromString("imgenzip.jpg", $imgnew);

    Pregunta:  55088 - COMO DIBUJAR MOLECULAS QUIMICAS EN 2D Y 3D USANDO
Autor:  yulexy jimenez
Por favor necesito que alguien me ayude a encontrar una solucion para poder realizar dibujos de moleculas quimicas en 2d y 3d en PHP, o si no se puede, me guatar'ia que me dieran un norte sobre que programa de software libre me podr'ia servir para esto.
Muchas gracias yulexy
  Respuesta:  Karlos
claro que se puede .. pero es un proceso complicado, no se en que nivel estaras en php, si tienes un conocimiento avanzado sabras que podras hacerlo utilizando la libreria gd. pero antes deberas de habilitar la dll que corresponde.

    Pregunta:  55199 - CONECTAR 2 DB A LA VEZ
Autor:  Caza ...
Hola gente, necesitaria saber si es posible la conexion a dos bases de datos mssql a la vez el codigo que uso es este:

$db = &ADONewConnection(\'mssql\');
$connect_mssql = $db->Connect($server[\'dbhost\'],$server[\'dbuser\'],$server[\'dbpassword\'],$server[\'database\']);
if (!$connect_mssql) die(\"<img src=images/warning.gif>No se ha podido establecer la conexion, Error #119\");

y me gustaria saber si con este sistema u otro es posible abrir 2 bases de datos a la vez osea en esa conexion tener la base de datos por ejemplo Game3G, y en la otra Acccount, tengo un config donde escribo el user,pass,db,...

Gracias de antemano.
  Respuesta:  Ignacio Casinelli Esviza
Caza,

En una misma ejecución de PHP podés crear tantas conexiones como necesites, guardando en variables distintas el objeto ADONewConnection:

$db1 = ADONewConnection("..bla bla bla...");
$db1->Connect(" bla bla bla");

$db2 = ADONewConnection("..bla bla bla...");
$db2->Connect(" bla bla bla");

En ese caso tenés DOS conexiones abiertas, una representada por $db1 y otra por $db2 y podés enviarle órdenes SQL o pedir datos a la que quieras.

Saludos,
Ignacio Casinelli Esviza

    Pregunta:  55200 - DATEDIFF -PHP- SQL SERVER2000
Autor:  Maikel Garcia
Necesito ayuda, estoy tratando de realizar calculos con fechas por medio de php, las fechas las tengo en una tabla de Sql Server y desde php envio la siguiente consulta al sql server con la funcion mssql_query.

SELECT DATEDIFF(day, Fecha_Escalado, GETDATE()) As dias FROM Historial_Falla

al momento de mostrar los resultados de esta consulta en php no me muestra nada sale todo en blanco.

pero la consulta se esta realizando no da error y con foreach se puede hacer el rrecorrido de todos los campos que tiene la tabla Historial_Falla

Agradezco si me pueden ayudar gracias
  Respuesta:  Christian Oswaldo Cuadras Montoya
Que tal Maikel:

Le falto a tu pregunta especificar el formato de las fechas que quieres restar, yo realize un codigo para calcular la diferencia entre dos fechas con el formato aaaa-mm-dd hh:mm:ss (formato DATETIME), solo no utilize los segundos, el resultado que me devuelve es la cantidad de minutos que hay entre una fecha y otra.

$a="2009";
$m="01";
$d="5";
$hora="06";
$min="25";
fecha_fin= 2009-01-05 06:25

$a1="2009";
$m1="01";
$d1="5";
$hora1="06";
$min1="30";
fecha_fin= 2009-01-05 06:30

El resultado seria 5 minutos.

------EL CODIGO ES EL SIGUIENTE-----

echo '






';
echo 'inicio:'.$a.'-'.$m.'-'.$d.' '.$hora.':'.$min;
echo '

';
echo 'Fin:'.$a1.'-'.$m1.'-'.$d1.' '.$hora1.':'.$min1;

echo '



';
$total=$min1-$min;
echo $total;
$total_minutos=0;
$bandera=0;

while ($bandera==0)
{
if($min==$min1 and $hora==$hora1 and $m==$m1 and $d==$d1 and $a==$a1)
$bandera=1;
else
{
$min=$min+1;
$total_minutos=$total_minutos+1;
if($min==60)
{
$min=0;
$hora=$hora+1;
if($hora==24)
{
$hora=0;
$d=$d+1;
if($m==1)
{
if($d==32)
{
$d=1;
$m=$m+1;
}
}
if($m==2)
{
if($d==29)
{
$d=1;
$m=$m+1;
}
}
if($m==3)
{
if($d==32)
{
$d=1;
$m=$m+1;
}
}
if($m==4)
{
if($d==31)
{
$d=1;
$m=$m+1;
}
}
if($m==5)
{
if($d==32)
{
$d=1;
$m=$m+1;
}
}
if($m==6)
{
if($d==31)
{
$d=1;
$m=$m+1;
}
}
if($m==7)
{
if($d==32)
{
$d=1;
$m=$m+1;
}
}
if($m==8)
{
if($d==32)
{
$d=1;
$m=$m+1;
}
}
if($m==9)
{
if($d==31)
{
$d=1;
$m=$m+1;
}
}
if($m==10)
{
if($d==32)
{
$d=1;
$m=$m+1;
}
}
if($m==11)
{
if($d==31)
{
$d=1;
$m=$m+1;
}
}
if($m==12)
{
if($d==32)
{
$d=1;
$m=$m+1;
}
}
if($m==13)
{
$m=1;
$a=$a+1;
}

}
}
}
}

echo '



';
echo "La diferencia en minutos entre las dos fechas es de--";
echo $total_minutos;
?>


Si esperas otro resultado simplemente haz tus propios calculos, espero que esto te sirva.

Saludos.
  Respuesta:  Luis
Prueba con esta función (personalizala tú mismo):

function diferencia_fechas($fecha1, $fecha2, $intervalo)
{
// ** Establece la fecha 1
$fecha_1 = mktime(date("H", strtotime($fecha1)),
date("i", strtotime($fecha1)),
date("s", strtotime($fecha1)),
date("m", strtotime($fecha1)),
date("d", strtotime($fecha1)),
date("Y", strtotime($fecha1)));

// ** Establece la fecha 2
$fecha_2 = mktime(date("H", strtotime($fecha2)),
date("i", strtotime($fecha2)),
date("s", strtotime($fecha2)),
date("m", strtotime($fecha2)),
date("d", strtotime($fecha2)),
date("Y", strtotime($fecha2)));

// ** Resta las fechas
$dif_fechas = $fecha_1 - $fecha_2;

// ** Dependiendo del intervalo de entrada carga el valor de la diferencia
if ($intervalo == "horas") $dif_fechas = sprintf('%d', $dif_fechas / 3600);
if ($intervalo == "minutos") $dif_fechas = sprintf('%d', $dif_fechas / 60);
if ($intervalo == "segundos") $dif_fechas = sprintf('%d', $dif_fechas);

// ** Devuelve la diferencia de fechas en el intervalo
return $dif_fechas;
}

    Pregunta:  55581 - LA PAGINA PHP SE MUESTRA INCOMPLETA
Autor:  Hector Garcia
Tengo un reporte elaborado en php el cual muestra una cantidad de registros, es grande, pero nada fuera de lo comun, Si la pagina la corro en el servidor o dentro de la misma red, funciona muy bien, muestra todos los datos correctos.
Pero, cuando entro desde Internet muestra solamente una parte de la pagina, como si solo pudiera mostrar una pagina de cierto tamaño, porque no pasa de los 8 Kb, Y lo raro tambien es que si genero la tabla en html sin codigo php, pero se guarda con extension .php, tambien funciona igual, solo muestra una parte de la pagina, pero si la guardo con extension .html si la genera bien, Ya le he buscado y no encuentro nada. Ayuda!!!!
  Respuesta:  Ignacio Casinelli Esviza
Héctor,

No creo que te sea de ayuda, pero al menos por las dudas:

- Desde el navegador, hacé Ver / Código Fuente a ver si no hay ningún mensaje de error PHP al final de la página que por alguna razón no esté saliendo en la pantalla.

- Asegurate que los mensajes de error PHP estén activados para poder verlos.

Saludos,
Ignacio Casinelli Esviza

    Pregunta:  56070 - GENERAR PDF Y .XLS
Autor:  Roberto Micolta Martinez
hola a todos, si alguien me puede ayudar, tengo unas consultas en PL/SQL con ORACLE9i y necesito generar las consulta en un pdf y en excel y la verdad no tengo ni idea como hacerlo, si alguien sabe como le agradezco por la ayuda, este es mi msn corillo25@hotmail.com estoy conectado todos los dias todo el dia.
  Respuesta:  Rolando Strahm
Hola
Creo que tu pregunta esta mal planteada, si lo que deseas es mostrar los resultados en pdf o xls, las sugerencias que te tengo son las siguientes

Para pdf, instala una biblioteca llamada fpdf, la misma te generara un archivo pdf que podras ver por tu navegador o guardar, para el xls, en ves de complicarte la vida bajando bibliotecas te recomiendo que declares el tipo de archivo en el encabezado, como excel (xls), te dara la opción de generar tu hoja de calculo tal cual programaras una tabla html, con algunas limitantes.

Vas a tener que programar el formato en php en cualquiera de las dos opciones a partir del resultado de la consulta

    Pregunta:  56339 - ERROR DE MEMORIA EN PHP
Autor:  Paúl Sumari
Hola:

Solo cuando ejecuto esta dirección luego de instalar el apache y el php

http://localhost/info.php

me sale el error que dice:

"La instrucción en "0x011c7d80" hace referencia a la memoria en "0x0000004". La memoria no se puede "read".
Haga click en aceptar para finalizar este programa"

Por favor si me pudieran decir si es error del apache o del php o de mi máquina.

Gracias
  Respuesta:  Marco Antonio Calvente Nieto
El error que comentas es un mensaje de error genérico de windows, que puede deberse o no al php, al navegador, o a cualquier proceso de por medio. Para una explicación más detallada, y posibles soluciones, te recomiendo leer esta página, donde lo explica mucho mejor que yo:

http://www.zptweb.net/La-memoria-no-se-puede-read---written/495/

Espero que te sea útil.

|<  <<  1 2 3 4 5 6 7 8 9 10 11  >>  >|
Revisar política de publicidad