Foros del Web » Programando para Internet » PHP »

probar si el nombre de un fichero coincide con el nombre de un registro

Estas en el tema de probar si el nombre de un fichero coincide con el nombre de un registro en el foro de PHP en Foros del Web. Hola buenas, tengo una carpeta include/bio donde tengo 2 ficheros que se llaman vitolouie.php horgmotorstein.php y luego tengo una consulta a una base de datos ...
  #1 (permalink)  
Antiguo 22/11/2007, 19:58
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
probar si el nombre de un fichero coincide con el nombre de un registro

Hola buenas, tengo una carpeta include/bio donde tengo 2 ficheros que se llaman

vitolouie.php
horgmotorstein.php

y luego tengo una consulta a una base de datos donde me saca el nombre y apellidos. Lo que quiero es que compare el nombre del archivo con el nombre de la base de datos y si son iguales que me ponga un enlace.

vale, yo estoy haciendo esto:

Código PHP:

<?
$path 
"includes/bio/";
$dir opendir($path);
while (
$elemento readdir($dir))
{
$extensiones explode(".",$elemento) ;
$nombre $extensiones[0] ;
$nombre2  $extensiones[1] ;
$tipo = array ("php");
if(
in_array($nombre2$tipo)){
$biografias '"'.trim($biografias).'","'.trim($elemento).'"' ;
}
}
closedir($dir);

//limpio las consultas
$biografias str_replace('""",','',$biografias);
$biografias str_replace('""','"',$biografias);

echo 
$biografias;
?>
Con este código obtengo esto:

"vitolouie.php","horgmotorstein.php"

para comprobar los archivos hago esto:
Código PHP:
$phpbio = array($biografias);
$nombrearchivo strtolower($rownombremenuhp['apellidos'])."".strtolower($rownombremenuhp['nombre']).".php";

if(
in_array($nombrearchivo$phpbio)){ 

echo 
"enlace";


Y aquí viene mi problema, como está arriba no funciona en cambio copio y pego el resultado que meda dentro del array y funciona bien, o sea si pongo e array en vez de $phpbio = array($biografias); pongo directamente el resultado que obtengo de $biografias array("vitolouie.php","horgmotorstein.php"), entonces así funciona en, alguien sabe que puedo estar haciendo mal?

Un saludo
__________________
asp, php, .net, adaptandose a las necesidades
  #2 (permalink)  
Antiguo 23/11/2007, 02:06
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: probar si el nombre de un fichero coincide con el nombre de un registro

Porque biografias es una cadena de texto dentro de una variable. Cuando haces
Código PHP:
$phpbio = array($biografias); 
no es lo mismo que
Código PHP:
$phpbio = array("vitolouie.php","horgmotorstein.php"); 
sino que lo que realmente haces es
Código PHP:
$phpbio = array('"vitolouie.php","horgmotorstein.php"'); 
(fijate en las ' extra). Es decir, estas creando un array de un solo elemento de valor toda la cadena "vitolouie.php","horgmotorstein.php".

Si quieres crear el array directamente mientras recorres el directorio, es simplemente:
Código PHP:
<?
$path 
"includes/bio/";
$dir opendir($path);
while (
$elemento readdir($dir))
{
$extensiones explode(".",$elemento) ;
$nombre $extensiones[0] ;
$nombre2  $extensiones[1] ;
$tipo = array ("php");
if(
in_array($nombre2$tipo)){
$biografias[] = trim($elemento) ;
}
}
closedir($dir);
print_r($biografias);
$biografias sera ahora un array con todos los archivos.
  #3 (permalink)  
Antiguo 23/11/2007, 03:54
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Re: probar si el nombre de un fichero coincide con el nombre de un registro

Vale ya está que me había equivocado yo, todo perfecto ya lo he entendido y ya funciona

Un saludo y gracias
__________________
asp, php, .net, adaptandose a las necesidades

Última edición por haven; 23/11/2007 a las 10:09
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 20:48.