2 includes en una pagina

Hola compañero david
otro pequeño problema que espero puedas solucionarme...
tengo dos includes en una pag. Php y el primero me funciona pero el segundo no aparece..
por si te sirve de recordatorio es de aquel script que me ayudaste a configurar el list.php
Las rutas son las correctas... Lo tengo asy:
</div>
<h1 class="style7">  </h1>
<h1 class="style7">  <span class="style7">Obres Pintura </span></h1>
<p class="style10 style9 style9"> </p>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions 2008</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9">
<?php
include ("exposicions/pintura/2009/list.php");
?>
</p>
</td>
</tr>
</table>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions 2009</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9">
<?php
include ("exposicions/grafica/2009/list.php");
?>
</p>
</td>
</tr>
</table>
La fuente de la web ejemplo
Respuesta
1
Si ver el código fuente de list.php no sé qué puede estar pasando, pero seguramente debe haber un error en el código y por eso no se puede incluir correctamente.
Prueba a pegar el código en la página, en lugar del include y verás qué ocurre.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Pintura-Bellsmarcs</title>
<style type="text/css">
body {
background: #666666;
margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
padding: 0;
text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
color: #000000;
background-color: #9C1F38;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 100%;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
}
.twoColFixLt #container {
width: 880px; /* the auto margins (in conjunction with a width) center the page */
border: 1px solid #000000;
text-align: left; /* this overrides the text-align: center on the body element. */
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
background-color: #9C1F38;
}
.twoColFixLt #sidebar1 {
float: left; /* since this element is floated, a width must be given */
width: 200px; /* the background color will be displayed for the length of the content in the column, but no further */
padding: 15px 10px 15px 20px;
background-color: #9C1F38;
}
.twoColFixLt #mainContent {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 250px;
padding-top: 0;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
float: right;
margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page */
float: left;
margin-right: 8px;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
.style7 {
font-size: 24px}
.style2 {font-family: Arial, Helvetica, sans-serif}
body,td,th {
color: #000000;
}
a:link {
color: #000000;
text-decoration: none;
}
.style9 {font-size: 12px}
a:visited {
color: #000000;
text-decoration: none;
}
</style>
<style type="text/css">
/* place css box model fixes for IE 5* in this conditional comment */
.twoColFixLt #sidebar1 { width: 230px; }
</style>
<style type="text/css">
/* place css fixes for all versions of IE in this conditional comment */
.twoColFixLt #sidebar1 { padding-top: 30px; }
.twoColFixLt #mainContent { zoom: 1; }
/* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
</style>
<link href="css/text1.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Estilo2 {
font-size: 16px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<body class="twoColFixLt">
<div class="style7" id="container">
<div id="sidebar1">
<h3><img src="img/logo.gif" width="196" height="133" /></h3>
<object id="bells" width="140" height="216"
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
<PARAM NAME="flashvars" value="Copyright=[www.bellsmarcs.com]">
<param name="movie" value="botofinal.swf" />
<param name="quality" value="high" />
<param name="scale" value="noscale"/>
<param name="bgcolor" value="#9C1F38" />
<param name="wmode" value="transparent" /><embed name="bells" src="botofinal.swf" quality="high" scale="noscale"
bgcolor="#9C1F38" wmode="transparent" width="140" height="216"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<!-- end #sidebar1 -->
</div>
<h1 class="style7">  </h1>
<h1 class="style7">  <span class="style7">Obres Pintura </span></h1>
<p class="style10 style9 style9"> </p>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions 2008</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9">
<?php
function folderlist(){
$startdir = './exposicions/pintura/2009/';
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
$j=0;
if (is_dir($startdir)){
if ($dh = opendir($startdir)) {
while (($folder = readdir($dh)) !== false) {
if (!(array_search($folder,$ignoredDirectory) > -1)) {
if (filetype($startdir . $folder) == "dir") {
$fechas[date("Y-m-d-H:i:s", filemtime($startdir . $folder)) . sprintf("%03s", $j)] = $j;
$directorylist[$j]['name'] = $folder;
$directorylist[$j]['path'] = $startdir;
$j++;
}
}
}
closedir($dh);
}
}
ksort($fechas);
$i = 1;
reset($fechas);
foreach ($fechas as $fecha => $valor){
echo "$i. <a href='" . $directorylist[$valor]["path"] . $directorylist[$valor]["name"] . "'>" . $directorylist[$valor]["name"] . "</a><br /><br />";
$i++;
}
}
folderlist();
?>
</p>
</td>
</tr>
</table>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions 2009</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9"> </p>
<?php
function folderlist(){
$startdir = './exposicions/grafica/2009/';
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
$j=0;
if (is_dir($startdir)){
if ($dh = opendir($startdir)) {
while (($folder = readdir($dh)) !== false) {
if (!(array_search($folder,$ignoredDirectory) > -1)) {
if (filetype($startdir . $folder) == "dir") {
$fechas[date("Y-m-d-H:i:s", filemtime($startdir . $folder)) . sprintf("%03s", $j)] = $j;
$directorylist[$j]['name'] = $folder;
$directorylist[$j]['path'] = $startdir;
$j++;
}
}
}
closedir($dh);
}
}
ksort($fechas);
$i = 1;
reset($fechas);
foreach ($fechas as $fecha => $valor){
echo "$i. <a href='" . $directorylist[$valor]["path"] . $directorylist[$valor]["name"] . "'>" . $directorylist[$valor]["name"] . "</a><br /><br />";
$i++;
}
}
folderlist();
?>
</tr>
</table>
<!-- end #container -->
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p> </p>
</body>
</html>
tal y como me dijiste he dejado el codigo asy...
pero la pag se queda en blanco... no muestra nada
gracias y aprobechando... feliz fin de año
Estás definiendo dos veces la función folderlist() lo cual es incorrecto.
Deberías hacer un include de la función al principio de la página y luego usarla en los lugares donde hacías los include antes.
Para ello, deberías convertir la variable $startdir en un parámetro para que puedas llamar a la función con diferente directorio:
folderlist("./exposicions/pinturas/2009/");
folderlist("./exposicions/graficas/2009/");
Para ello debes eliminar la asignación de $startdir en la función y añadir el parámetro:
function folderlist($startdir) {
ignoredDirectory[]=".";
Etc.
No se si es esto lo que me dijiste que hiciera pero de todos modos he hecho mil y una puebas
me estoy mareando....
asy como lo he dejado es lo mejor que consegui... pero me da estos errores:
Obres Pintura
Warning: Missing argument 1 for folderlist(), called in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 168 and defined in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 140
Warning: ksort() expects parameter 1 to be array, null given in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 160
Warning: reset() [function.reset]: Passed variable is not an array or object in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 162
Warning: Invalid argument supplied for foreach() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 163
Exposicions 2008
Warning: ksort() expects parameter 1 to be array, null given in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 160
Warning: reset() [function.reset]: Passed variable is not an array or object in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 162
Warning: Invalid argument supplied for foreach() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 163
Exposicions 2009
Warning: ksort() expects parameter 1 to be array, null given in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 160
Warning: reset() [function.reset]: Passed variable is not an array or object in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 162
Warning: Invalid argument supplied for foreach() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\pintura2.php on line 163
Esto del PhP va a poder conmigo...
gracias david
Tienes unos cuantos errores entre las líneas 140 i 168, pero no te los puedo reparar puesto que no has enviado el código.
En programación es 'normal' que las cosas no funcionen a la primera. Se trata de leer los errores, interpretarlos y corregirlos. Donde dice que falta un parámetro, es que te lo has olvidado. Donde dice que la variable no es un array, es que no lo debe ser...
El problema es que ni tan solo se si la estructura de la pag es la correcta...
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Pintura-Bellsmarcs</title>
<style type="text/css">
body {
background: #666666;
margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
padding: 0;
text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
color: #000000;
background-color: #9C1F38;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 100%;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
}
.twoColFixLt #container {
width: 880px; /* the auto margins (in conjunction with a width) center the page */
border: 1px solid #000000;
text-align: left; /* this overrides the text-align: center on the body element. */
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
background-color: #9C1F38;
}
.twoColFixLt #sidebar1 {
float: left; /* since this element is floated, a width must be given */
width: 200px; /* the background color will be displayed for the length of the content in the column, but no further */
padding: 15px 10px 15px 20px;
background-color: #9C1F38;
}
.twoColFixLt #mainContent {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 250px;
padding-top: 0;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
float: right;
margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page */
float: left;
margin-right: 8px;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
.style7 {
font-size: 24px}
.style2 {font-family: Arial, Helvetica, sans-serif}
body,td,th {
color: #000000;
}
a:link {
color: #000000;
text-decoration: none;
}
.style9 {font-size: 12px}
a:visited {
color: #000000;
text-decoration: none;
}
</style>
<style type="text/css">
/* place css box model fixes for IE 5* in this conditional comment */
.twoColFixLt #sidebar1 { width: 230px; }
</style>
<style type="text/css">
/* place css fixes for all versions of IE in this conditional comment */
.twoColFixLt #sidebar1 { padding-top: 30px; }
.twoColFixLt #mainContent { zoom: 1; }
/* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
</style>
<link href="css/text1.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Estilo2 {
font-size: 16px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<body class="twoColFixLt">
<div class="style7" id="container">
<div id="sidebar1">
<h3><img src="img/logo.gif" width="196" height="133" /></h3>
<object id="bells" width="140" height="216"
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
<PARAM NAME="flashvars" value="Copyright=[www.bellsmarcs.com]">
<param name="movie" value="botofinal.swf" />
<param name="quality" value="high" />
<param name="scale" value="noscale"/>
<param name="bgcolor" value="#9C1F38" />
<param name="wmode" value="transparent" /><embed name="bells" src="botofinal.swf" quality="high" scale="noscale"
bgcolor="#9C1F38" wmode="transparent" width="140" height="216"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<!-- end #sidebar1 -->
</div>
<h1 class="style7"> </h1>
<h1 class="style7"> <span class="style7">Obres Pintura </span></h1>
<p class="style10 style9 style9">
<?php
function folderlist($startdir){
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
$j=0;
if (is_dir($startdir)){
if ($dh = opendir($startdir)) {
while (($folder = readdir($dh)) !== false) {
if (!(array_search($folder,$ignoredDirectory) > -1)) {
if (filetype($startdir . $folder) == "dir") {
$fechas[date("Y-m-d-H:i:s", filemtime($startdir . $folder)) . sprintf("%03s", $j)] = $j;
$directorylist[$j]['name'] = $folder;
$directorylist[$j]['path'] = $startdir;
$j++;
}
}
}
closedir($dh);
}
}
ksort($fechas);
$i = 1;
reset($fechas);
foreach ($fechas as $fecha => $valor){
echo "$i. <a href='" . $directorylist[$valor]["path"] . $directorylist[$valor]["name"] . "'>" . $directorylist[$valor]["name"] . "</a><br /><br />";
$i++;
}
}
folderlist();
?>
</p>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions 2008</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9"><?php folderlist("./exposicions/pinturas/2009/");?></p>
</td>
</tr>
</table>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions 2009</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9"><?php folderlist("./exposicions/grafica/2009/");?></p>
</tr>
</table>
<!-- end #container -->
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p> </p>
</body>
</html>
Tenías algún error menor como el hecho de tener dos etiquetas
, pero el error principal se trataba de que no incluías el nombre del directorio como parámetro en la función folderlist(). Recuerda que se hizo este cambio para poder llamar a la función más de una vez. Debes escribir por ejemplo: folderlist("/usr/") o el que sea en tu caso.
Te adjunto el código corregido:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Pintura-Bellsmarcs</title>
<style type="text/css">
body {
background: #666666;
Margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
padding: 0;
text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
color: #000000;
background-color: #9C1F38;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 100%;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
}
.twoColFixLt #container {
width: 880px; /* the auto margins (in conjunction with a width) center the page */
border: 1px solid #000000;
text-align: left; /* this overrides the text-align: center on the body element. */
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
background-color: #9C1F38;
}
.twoColFixLt #sidebar1 {
float: left; /* since this element is floated, a width must be given */
Width: 200px; /* the background color will be displayed for the length of the content in the column, but no further */
padding: 15px 10px 15px 20px;
background-color: #9C1F38;
}
.twoColFixLt #mainContent {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 250px;
padding-top: 0;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
float: right;
margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page */
float: left;
margin-right: 8px;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
.style7 {
font-size: 24px}
.style2 {font-family: Arial, Helvetica, sans-serif}
body,td,th {
color: #000000;
}
a:link {
color: #000000;
text-decoration: none;
}
.style9 {font-size: 12px}
a:visited {
color: #000000;
text-decoration: none;
}
/* place css box model fixes for IE 5* in this conditional comment */
.twoColFixLt #sidebar1 { width: 230px; }
/* place css fixes for all versions of IE in this conditional comment */
.twoColFixLt #sidebar1 { padding-top: 30px; }
.twoColFixLt #mainContent { zoom: 1; }
/* The above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
.Estilo2 {
font-size: 16px;
font-weight: bold;
}
-->
</style>
<link href="css/text1.css" rel="stylesheet" type="text/css">
</head>
<body class="twoColFixLt">
<div class="style7" id="container">
<div id="sidebar1">
<h3><img src="img/logo.gif" width="196" height="133"></h3>
<object id="bells" width="140" height="216" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
<PARAM NAME="flashvars" value="Copyright=[www.bellsmarcs.com]">
<param name="movie" value="botofinal.swf">
<param name="quality" value="high">
<param name="scale" value="noscale">
<param name="bgcolor" value="#9C1F38">
<param name="wmode" value="transparent">
<embed name="bells" src="botofinal.swf" quality="high" scale="noscale"
bgcolor="#9C1F38" wmode="transparent" width="140" height="216"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</object>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<!-- end #sidebar1 -->
</div>
<h1 class="style7"> </h1>
<h1 class="style7"> <span class="style7">Obres Pintura </span></h1>
<p class="style10 style9 style9">
<?php
function folderlist($startdir){
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
$j=0;
if (is_dir($startdir)){
if ($dh = opendir($startdir)) {
while (($folder = readdir($dh)) !== false) {
if ((array_search($folder,$ignoredDirectory) !== false) {
if (filetype($startdir . $folder) == "dir") {
$fechas[date("Y-m-d-H:i:s", filemtime($startdir . $folder)) . sprintf("%03s", $j)] = $j;
$directorylist[$j]['name'] = $folder;
$directorylist[$j]['path'] = $startdir;
$j++;
}
}
}
closedir($dh);
}
}
if (count($fechas) > 0) {
ksort($fechas);
$i = 1;
reset($fechas);
foreach ($fechas as $fecha => $valor) {
echo "$i. <a href='" . $directorylist[$valor]["path"] . $directorylist[$valor]["name"] . "'>" . $directorylist[$valor]["name"] . "</a><br /><br />";
$i++;
}
}
}
folderlist("TUDIRECTORIO"); // DEBES PONER TU DIRECTORIO COMO PARÁMETRO DE LA FUNCION
?>
</p>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions
2008</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9">
<?php folderlist("./exposicions/pinturas/2009/");?>
</p>
</td>
</tr>
</table>
<table width="611" border="0">
<tr>
<td>
<p align="left" class="style10 style9 style9"><span class="Estilo2">Exposicions
2009</span></p>
<hr align="left" width="350" />
<p align="left" class="style10 style9 style9">
<?php folderlist("./exposicions/grafica/2009/");?>
</p>
</tr>
</table>
<!-- end #container -->
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p> </p>
</body>
</html>
folderlist("TUDIRECTORIO"); // DEBES PONER TU DIRECTORIO COMO PARÁMETRO DE LA FUNCION
En este punto debo poner algo mal... de echo es el unico sitio en el que debo poner algo...
XD ...
Estoy trabajando en locahost por lo tanto mi si tengo una carpeta llamada bells dentro de htdocs y la ruta para ejecutar http://localhost/bells/pintura2.php
Me aparece la pag. en blanco.....
La folderlist("") la deje asy:
folderlist("bells"); // DEBES PONER TU DIRECTORIO COMO PARÁMETRO DE LA FUNCION
de echo he probado de una cuantas formas
...
./bells
/bells/
localhost/bells/
etc...
Salu2 y Gracias por tu paciencia con el dichoso list.php
Si la página se está ejecutando en bells/pintura2.php se supone que le debes dar un directorio a partir de bells tal y como está hecha la función. Es decir si creas el bells/directorio debes poner folderlist("directorio").
Si quieres ver el bells, quizás funcione poniendo folderlist(".")
tampoco me funciona....
Recopilemos ...
funcion del folderlist y en la pag. pintura2.php
<?php
function folderlist($startdir){
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
$j=0;
if (is_dir($startdir)){
if ($dh = opendir($startdir)) {
while (($folder = readdir($dh)) !== false) {
if ((array_search($folder,$ignoredDirectory) !== false) {
if (filetype($startdir . $folder) == "dir") {
$fechas[date("Y-m-d-H:i:s", filemtime($startdir . $folder)) . sprintf("%03s", $j)] = $j;
$directorylist[$j]['name'] = $folder;
$directorylist[$j]['path'] = $startdir;
$j++;
}
}
}
closedir($dh);
}
}
if (count($fechas) > 0) {
ksort($fechas);
$i = 1;
reset($fechas);
foreach ($fechas as $fecha => $valor) {
echo "$i. <a href='" . $directorylist[$valor]["path"] . $directorylist[$valor]["name"] . "'>" . $directorylist[$valor]["name"] . "</a><br /><br />";
$i++;
}
}
}
folderlist("."); // DEBES PONER TU DIRECTORIO COMO PARÁMETRO DE LA FUNCION
?>
y cada list.php con su codigo
<?php
function folderlist(){
$startdir = './exposicions/grafica/2009/';
$ignoredDirectory[] = '.';
$ignoredDirectory[] = '..';
$j=0;
if (is_dir($startdir)){
if ($dh = opendir($startdir)) {
while (($folder = readdir($dh)) !== false) {
if (!(array_search($folder,$ignoredDirectory) > -1)) {
if (filetype($startdir . $folder) == "dir") {
$fechas[date("Y-m-d-H:i:s", filemtime($startdir . $folder)) . sprintf("%03s", $j)] = $j;
$directorylist[$j]['name'] = $folder;
$directorylist[$j]['path'] = $startdir;
$j++;
}
}
}
closedir($dh);
}
}
ksort($fechas);
$i = 1;
reset($fechas);
foreach ($fechas as $fecha => $valor){
echo "$i. <a href='" . $directorylist[$valor]["path"] . $directorylist[$valor]["name"] . "'>" . $directorylist[$valor]["name"] . "</a><br /><br />";
$i++;
}
}
folderlist();
?>
No entiendo porque no funciona se ve correcto i de echo no marca ningun error de php solo aparece la pag en blanco sin mas...
Espero puedas ayudarme david..
Saludos
A ver la función sólo tiene que estar definida en un sitio y veo que la tienes en varios ficheros.
Para empezar deberías explicar la estructura de páginas que tienes:
Parece que tienes una página pintura2.php en el directorio bells de la cual no sé su misión.
Y luego tienes (¿varias?) Páginas list.php en no sé qué directorio o directorios con misión también desconocida.
Si necesitas llamar a la función desde varias páginas lo más práctico és poner el código que acabas de enviar en un fichero aparte, por ejemplo folderlist.php (pero sin la penúltima línea, que es la llamada a la función).
Luego en el fichero que la necesites, puedes hacer:
<?php
include_once("folderlist.php");
// Y luego llamar a la función en el momento que sea oportuno:
folderlist("tudirectorio");
?>
Si esto está por ejemplo en el fichero pintura2.php en el directorio bells y en el mismo directorio se encuentra el folderlist.php y si existe un directorio dentro de bells que se llame tudirectorio, entonces se listaran los directorios existentes dentro de tudirectorio si los hay.
Espero que entiendas el concepto. Una función se define y se puede llamar diversas veces con diferentes parámetros.
Si deseas este comportamiento para más ficheros y en distintos directorios, deberías tener una estructura clara sobre ello. Por ejemplo:
A partir de bells podria tener un directorio pinturas y otro musicas. Entonces desde el fichero de bells puedo llamar a folderlist("pinturas") y a folderlist("musicas").
Si no te aclaras tendrás que explicar un poco todo lo que quieres hacer y la estructura que tienes de directorios y páginas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas