Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Diabliyo en 11 Diciembre 2006, 16:44 pm



Título: Limite de consultas en MySQL desde PHP !!???
Publicado por: Diabliyo en 11 Diciembre 2006, 16:44 pm
Hola:

Me ha surgido este error:

Código:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\web\modulos\backups.php on line 18

La linea 18 es la linea donde esta el mysql_query() el cual esta perfectamente echo y formado, ademas de 1900 datos a insertar, solo inserta 900 mas o menos y deja de insertar lanzando el error ya mencionado en la hoja PHP :(.

Cual es la mejor forma de solucionar este problema ???, haciendo un time() para que al momento de llegar a 20 segundos, espere 1 segundo y continue insertando ??? o como :S ???

Este mismo error sale conectando a la BDD MySQL tanto como usuario hasta como root :(.

bye


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: alone-in-the-chat en 11 Diciembre 2006, 16:57 pm
configura en tu php.ini el maximo tiempo de ejecucion de los scripts (max_execution_time)
por default te viene en 30 segundos
o sino en la parte de arriba de tu script coloca algo como esto
Código:
set_time_limit("numero segundos");


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: Diabliyo en 11 Diciembre 2006, 20:43 pm
configura en tu php.ini el maximo tiempo de ejecucion de los scripts (max_execution_time)
por default te viene en 30 segundos
o sino en la parte de arriba de tu script coloca algo como esto
Código:
set_time_limit("numero segundos");

Entonces sol modifico en el php.ini la variable max_execution_time para que kede asi:
Código:
max_execution_time = 60

Ya cone sto se soluciono la bronca ;)


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: Diabliyo en 12 Diciembre 2006, 18:20 pm
Hola:

Otro Asunto RARO :S

Tengo este pedazo de codigo:
Código:
	if( ($_FILES['archivo_txt']['name'] && $_FILES['archivo_txt']['type']=="text/plain") || $_GET["pagina"])
{
echo "<td colspan=\"5\" style=\"height:5px;\">";

chmod( "tmp/", 0777 );

if( $_FILES['archivo_txt']['name'] ) //primera ves cargado el file, aun no copiado a "tmp/"
if( copy( $_FILES['archivo_txt']['name'], "tmp/datos.txt")==FALSE )
echo "<span>Problemas para copiar archivo.<br></span>";

echo "<form action=\"index.php?modulo=backups&mov=guardar\" method=\"POST\">";
echo "<img src=\"imagenes/loading_01.gif\" border=\"0\">";
echo "<p>The file backup is Loaded, now press the next button to Save All Information on the Data Base.";
echo "<p><input type=\"submit\" value=\"Save Data\">";
echo "</form>";

Este codigo copia el fichero cargado hacia un directorio especifico junto con un nombre especifico ("tmp/datos.txt"), el caso raro es el siguiente:

1- Cuando tengo el archivo por ejemplo: archivo.txt ubicado en el DIRECTORIO RAIZ del WEBSITE, el codigo funciona de maravilla.

2- Cuando el archivo: archivo.txt se encuentra/lo muevo en/hacia el Escritorio, y posteriormente intento cargarlo, me genera un error :(, es el siguiente:
Código:
Warning: copy(09-12-06.txt) [function.copy]: failed to open stream: No such file or directory in C:\web\modulos\backups.php on line 78

Nose porke genera error cuando el archivo.txt se encuentra en el escritorio :(, si cuando este en el directorio raiz del SITIO WEB, el codigo hace su tarea correctamente :S !!..

Alguna ayuda ??


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: Diabliyo en 12 Diciembre 2006, 19:08 pm
Hola:

Para una mejor ilustracion del error, chequen la pagina:

http://darkdiabliyo.iespana.es/fortune/index.php

En el Panel clickeen sobre: BACKUPS, denle BROWSE y proporcionen un archivo de TEXTO (loquesea.txt) y presionen SEND FILE. Veran el error que sale por consiguente :(.

Este error NO sucede en mi PC, pero desde cualquier PC o bien desde iespana.es, SI se presenta el error :(.

Ayuda porfavor !!!


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: alone-in-the-chat en 12 Diciembre 2006, 19:24 pm
coloca el codigo de backups.php
:D
ponlo entre etiquetas [  code  ]


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: Diabliyo en 12 Diciembre 2006, 20:44 pm
coloca el codigo de backups.php
:D
ponlo entre etiquetas [  code  ]

No veo la necesidad de hacer eso... con el pedazo que puse es suficiente :S, osea no ahi mas de interes que ver :S, aki pondre de nuevo un pokito mas:

Código:
<?php
switch( $_GET["mov"] )
          {
          //una vez procesada la parte de DEFAULT, se accede aki
          case 'guardar':
                    echo "<td>";
                    if( ($fp= fopen( "tmp/datos.txt", "r" ))==FALSE )
                              echo "<span>Problem to open <b>BackUp File</b></span>";
                    else
                              {
                              $failed=0;
                              $buf= fgets( $fp, 1024 );

                              $link= conectar();
                              while( !feof($fp) )
                                        {
                                        $failed= destripar_enbase( $buf, $failed, $link );
                                        $buf= fgets( $fp, 1024 );
                                        }

                              mysql_close($link);
                              unset($buf);
                              fclose($fp);

                              chdir( "tmp/" );
                              chmod( "datos.txt", 0777 );
                              unlink( "datos.txt" ); //borrar archivo
                              chdir( "../" );

                              if( $failed!=0 )
                                        echo "<img src=\"imagenes/cristal/cancel.png\" border=\"0\"> <p><span>Problem to Insert All the Information. <p>". $failed. " Registries they failed.<br>Maybe the information exist or something problem it happens.<br>Please check your Material List for Data Repeated.</span>";
                              else
                                        echo "<img src=\"imagenes/cristal/download.png\" border=\"0\"> <b>Information Saved.</b>";
                              }

                    echo "<br>";
                    echo "<form action=\"index.php?modulo=backups\" method=\"POST\">";
                    echo "<input type=\"submit\" value=\"Finalizar\">";
                    echo "</form>";
                    break;




          //aqui es donde pide FILE o bien copia el FILE a una carpeta
          default:
                    //si ya existe FILE cargado, entra a este condicional
                    if( $_FILES['archivo_txt'] && ($_FILES['archivo_txt']['type']=="text/plain") )
                              {
                              echo "<td colspan=\"5\" style=\"height:5px;\">";

                              if( copy( $_FILES['archivo_txt']['name'], "tmp/datos.txt" )==FALSE )
                                        {
                                        echo "<span>Problemas para copiar archivo.<br></span>";
                                        }

                              else
                                        {
                                        echo "<form action=\"index.php?modulo=backups&mov=guardar\" method=\"POST\">";
                                        echo "<img src=\"imagenes/loading_01.gif\" border=\"0\">";
                                        echo "<p>The file backup is Loaded, now press the next button to Save All Information on the Data Base.";
                                        echo "<p><input type=\"submit\" value=\"Save Data\">";
                                        echo "</form>";
                                        }
                              echo "</td>";
                              }

                    //si se accede al archivo PHP por primera vez, entonecs meustra esta forma para pedir FILE
                    else
                              {
                              echo "<td>To Load Backup, please select your text file:<br>";
                              echo "<form action=\"index.php?modulo=backups\" method=\"POST\" enctype=\"multipart/form-data\">";
                              echo "<input type=\"file\" name=\"archivo_txt\"><br>";
                              echo "<input type=\"submit\" value=\"Send File\">";

                              if( $_FILES['archivo_txt']['name'] && $_FILES['archivo_txt']['type']!="text/plain" )
                                        echo "<br><span>File Format wrong, please use Text File Format.</span>";

                              echo "</form>";
                              echo "</td>";
                              }
                    break;
          }
?>


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: alone-in-the-chat en 12 Diciembre 2006, 21:09 pm
pues asi viendolo por encima :P (toy un poquitin ocupado)
parece de permisos  no kreo que puedas dar permisos 777 a una carpeta desde php (puede que el usuario no sea propietario del archivo)
puede que lo tes probando en windows por eso no tienes problemas en lo de permisos
ve la forma de evitar eso prueba poniendole permisos a la carpeta
pd.
como te repito me fije x encima nada mas :P mas tarde lo veo con calma xDºº suerte
saludos.


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: Diabliyo en 13 Diciembre 2006, 21:04 pm
pues asi viendolo por encima :P (toy un poquitin ocupado)
parece de permisos  no kreo que puedas dar permisos 777 a una carpeta desde php (puede que el usuario no sea propietario del archivo)
puede que lo tes probando en windows por eso no tienes problemas en lo de permisos
ve la forma de evitar eso prueba poniendole permisos a la carpeta
pd.
como te repito me fije x encima nada mas :P mas tarde lo veo con calma xDºº suerte
saludos.

He agregado completamente el SWICTH() de mi archivo PHP. La linea del error es donde esta la funcion: copy()

Checar el code del post anterior porfavor !!


Título: Re: Limite de consultas en MySQL desde PHP !!???
Publicado por: Diabliyo en 18 Diciembre 2006, 23:02 pm
Acaso alguien me puede ayudar ???...

Este es el codigo:

Código:
<?php
switch( $_GET["mov"] )
          {
          //una vez procesada la parte de DEFAULT, se accede aki
          case 'guardar':
                    echo "<td>";
                    if( ($fp= fopen( "tmp/datos.txt", "r" ))==FALSE )
                              echo "<span>Problem to open <b>BackUp File</b></span>";
                    else
                              {
                              $failed=0;
                              $buf= fgets( $fp, 1024 );

                              $link= conectar();
                              while( !feof($fp) )
                                        {
                                        $failed= destripar_enbase( $buf, $failed, $link );
                                        $buf= fgets( $fp, 1024 );
                                        }

                              mysql_close($link);
                              unset($buf);
                              fclose($fp);

                              chdir( "tmp/" );
                              chmod( "datos.txt", 0777 );
                              unlink( "datos.txt" ); //borrar archivo
                              chdir( "../" );

                              if( $failed!=0 )
                                        echo "<img src=\"imagenes/cristal/cancel.png\" border=\"0\"> <p><span>Problem to Insert All the Information. <p>". $failed. " Registries they failed.<br>Maybe the information exist or something problem it happens.<br>Please check your Material List for Data Repeated.</span>";
                              else
                                        echo "<img src=\"imagenes/cristal/download.png\" border=\"0\"> <b>Information Saved.</b>";
                              }

                    echo "<br>";
                    echo "<form action=\"index.php?modulo=backups\" method=\"POST\">";
                    echo "<input type=\"submit\" value=\"Finalizar\">";
                    echo "</form>";
                    break;




          //aqui es donde pide FILE o bien copia el FILE a una carpeta
          default:
                    //si ya existe FILE cargado, entra a este condicional
                    if( $_FILES['archivo_txt'] && ($_FILES['archivo_txt']['type']=="text/plain") )
                              {
                              echo "<td colspan=\"5\" style=\"height:5px;\">";

                              if( copy( $_FILES['archivo_txt']['name'], "tmp/datos.txt" )==FALSE )
                                        {
                                        echo "<span>Problemas para copiar archivo.<br></span>";
                                        }

                              else
                                        {
                                        echo "<form action=\"index.php?modulo=backups&mov=guardar\" method=\"POST\">";
                                        echo "<img src=\"imagenes/loading_01.gif\" border=\"0\">";
                                        echo "<p>The file backup is Loaded, now press the next button to Save All Information on the Data Base.";
                                        echo "<p><input type=\"submit\" value=\"Save Data\">";
                                        echo "</form>";
                                        }
                              echo "</td>";
                              }

                    //si se accede al archivo PHP por primera vez, entonecs meustra esta forma para pedir FILE
                    else
                              {
                              echo "<td>To Load Backup, please select your text file:<br>";
                              echo "<form action=\"index.php?modulo=backups\" method=\"POST\" enctype=\"multipart/form-data\">";
                              echo "<input type=\"file\" name=\"archivo_txt\"><br>";
                              echo "<input type=\"submit\" value=\"Send File\">";

                              if( $_FILES['archivo_txt']['name'] && $_FILES['archivo_txt']['type']!="text/plain" )
                                        echo "<br><span>File Format wrong, please use Text File Format.</span>";

                              echo "</form>";
                              echo "</td>";
                              }
                    break;
          }
?>

No funciona, no me permite subir el archivo al servidor...

Como ejemplo el software lo subi a: http://darkdiabliyo.iespana.es/fortune/index.php

Nose que este haciendo mal...

Gracias por su ayuda !!

bye bye