FAQ
Y bueno hombre, haz exactamente eso, evita el . y .., fijate que en
cualquier tutorial que encuentres donde se usa el dir() o el opendir() se
evita el . y .. de la misma forma.

$dir = dir( $path );
while (false !== ($entry = $dir->read()))
{
if ( $entry != "." && $entry != ".." )
{
.....
...

saludos,
A.S. Pablo Pazos Gutierrez
www.SimpleWebPortal.net




"Pablo Braulio" <brulics@gmail.com> escribió en el mensaje
news:48232ACE.5040800@gmail.com...
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pablo Braulio escribió:
Hola a todos.

Estoy haciendo un script para poder aplicar script a una base de datos
de modo automatizado.

La idea es la siguiente.

Tengo una directorio con todos los scripts que forman la base de datos.
Estos tienen el siguiente formato de nombre:

0001_xxxx.sql
0002_yyyy.sql
0003_zzzz.sql
...
0123_QQQQ.sql

De ese modo se leen por orden.

Luego en la base de datos tengo una tabla que recoge el numero de script
que se ha introducido.

Con todo esto la idea es que el script de php me sace el número del
último script sql introducido y seleccione los siguientes scripts sql
del directorio para luego leer su contenido y ejecutar en la base de
datos.

Espero haberme explicado bien.

Este es el código que he preparado, de momento:

------------------------
#!/usr/bin/php
<?php
#conexion.
$host= "localhost";
$db= "XXX";
$user= "XXXX";
$passw= "XXXXXXX";

$conn= pg_connect("host= $host dbname= $db user= $user password=
$passw");

#Selección del script actual.
$scpt= "select max(num) as num from vista_control_version";
$qscpt= pg_query($scpt);
$rscpt= pg_fetch_array($qscpt);
$num= $scpt["num"];

#Si no existen datos asignamos 0.
if($num!=""){$num=0;};

#Leemos el contenido del directorio de los scripts sql.
$dir= "sql/";

#Abrimos el directorio.
$open= opendir($dir);

#Cargamos los archivos en un array.
while($archivos= readdir($open)){
$arrayarch[]=$arhivos;
}

#cantidad de archivos en el directorio sql.
$cantidad= count($arrayarch);

for($i=$num;$i<$cantidad;$i++){
echo $arrayarch[$i];
}
closedir($dir);
?>
------------------------

El problema es que el echo dentro del for, no me muestra nada. No lee
nada.

¿Alguna idea?.
Bueno, he encontrado el fallo. Era un fallo de sintaxis.

Pero el caso es que me muestra el contenido sin ordenar.

os pego un troco del resultado de un "print_r" del array:

Array
(
[0] => .
[1] => ..
[2] => 0010_colEmailTabProveedores.sql
[3] => 0002_tableClientes.sql
[4] => 0034_vistaFaseofertas.sql
[5] => 0123_unicoAnyoSeqestudios.sql
[6] => 0027_vistaOfertasCambioTablaOfertas.sql
[7] => 0084_campoUsuarioenTotalesfasesYmodificarTriggers.sql
[8] => 0015_tablaComercialycolWebComercial.sql
[9] => 0016_tablaEdificios.sql
[10] => 0080_GenerardeNuevoVistaPresupuesto.sql
[11] => 0100_modificarPermisosrecursosGrupoFkey.sql
[12] => 0048_tablaGruposusuarios.sql
[13] => 0030_numEstobraVistaOfertas.sql
[14] => 0101_modificarVistaUsuarios.sql
[15] => 0021_vistaControlVersion.sql
[16] => 0064_triggerIniciaFaseEconomica.sql

Habría que evitar los "." y ".." y ordenarlo por número.

¿Alguna idea?.

Saludos a todos y gracias.

- --


< ¡¡Nos vemos!! >
----------------------------
\
\
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#
$$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*
^$$$B $$$$\ $$$$$$$$$$$$ d$$R"
"*$bd$$$$ '*$$$$$$$$$$$o+#"
"""" """""""

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 3 of 7 | next ›
Discussion Overview
groupphp-general-es @
categoriesphp
postedMay 8, '08 at 4:17p
activeMay 8, '08 at 7:53p
posts7
users4
websitephp.net

People

Translate

site design / logo © 2022 Grokbase