Hola:
Me ha surgido este error:
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
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
set_time_limit("numero segundos");
Cita de: 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
set_time_limit("numero segundos");
Entonces sol modifico en el
php.ini la variable
max_execution_time para que kede asi:
max_execution_time = 60
Ya cone sto se soluciono la bronca ;)
Hola:
Otro Asunto RARO :S
Tengo este pedazo de codigo:
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:
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 ??
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 !!!
coloca el codigo de backups.php
:D
ponlo entre etiquetas [ code ]
Cita de: alone-in-the-chat en 12 Diciembre 2006, 19:24 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:
<?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;
}
?>
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.
Cita de: 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.
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 !!
Acaso alguien me puede ayudar ???...
Este es el codigo:
<?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