[risolto] Nuova pagina lista oggetti (gdrcd)
Pagine → 1 2
25/07/2025 09:39:00
Ciao! allora, la differenza è questaPercorso assoluto:
<img src="https://www.miosito.com/immagini/foto.jpg" alt="Foto">
È l'indirizzo completo della risorsa che stai cercando, include il dominio che hai registrato (l'indirizzo della tua land, per intenderci).mentre il path relativo<img src="/immagini/foto.jpg" alt="Foto">
È relativo alla posizione del file HTML corrente, quindi alla pagina da cui viene richiamato. facendo esempio con GDRCD , se stai lavorando ad un file dentro pages, per referenziare un file o una icona in theme il percorso relativo è "../theme/advanced/imgs/immagine.png" quindi deve tenere conto di dove si trova il file dentro la tua land. Non so se mi sono spiegato bene... :D
25/07/2025 11:11:55
@cbr89: ti ringrazio tanto per la risposta! In effetti mi era venuto il dubbio perchè, pur integrando il tutto come da pacchetto e secondo indicazioni, il folder immagini degli oggetti non funziona poiché non compare alcuna immagine. Non so se sono io a sbagliare oppure c'è un bug nel codice postato nel pacchetto di Haruka.
25/07/2025 11:16:12
Sicurament potrebbe essere legato al path che non viene impostato bene... se vuoi postare un pezzettino di codice , magari gli diamo uno sguardo :D
25/07/2025 11:19:05 e modificato da staff shadowland il 25/07/2025 11:19:44
Il codice è quello di Haruka, in path ho inserito in questo modo:
$path = 'indirizzomiosito/themes/advanced/imgs/items';
e appunto non richiama nulla.
25/07/2025 11:28:33
come si chiama il file ed in qualche cartella è posizionato? sembra proprio che tu abbia sbagliato il path, appunto
25/07/2025 11:31:08 e modificato da staff shadowland il 25/07/2025 11:35:44
Il percorso è proprio quello dichiarato, per questo motivo non mi spiego come mai non funzioni.Le immagini sono quelle classiche degli oggetti, con percorso:
themes/advanced/imgs/items
Aggiungo il codice integrale della pagina posizionata in pages:<?php /*HELP: */if($_SESSION['permessi'] >= MODERATOR) { /* se almeno admin */?><div> <!-- Titolo della pagina --><div class="page_title"><h3>Elenco immagini nella cartella dedicata</h3></div><!-- Operazioni --><div class="page_body"><?php /**/ $path = 'https://indirizzomiosito/themes/advanced/imgs/items';// get the directory contents as an array$dir_contents = scandir($path);// remove . and .. from the array$dir_contents = array_diff($dir_contents, array('.', '..'));// check if the sort option is set in the query stringif (isset($_REQUEST['sort_by'])) { $sort_by = $_REQUEST['sort_by'];} else { $sort_by = 'date_desc'; // default sorting is by date}// sort the array based on the selected optionswitch ($sort_by) { case 'name_desc': arsort($dir_contents, SORT_NATURAL | SORT_FLAG_CASE); // sort by name, descending break;case 'name_asc': asort($dir_contents, SORT_NATURAL | SORT_FLAG_CASE); // sort by name, ascending break; case 'date_asc': $dir_contents = array_map(function($file) use($path) { return [$file, filemtime("$path/$file")]; }, $dir_contents); // add file modification time to each file name usort($dir_contents, function($a, $b) { return $a[1] - $b[1]; // sort by modification time, ascending }); $dir_contents = array_map(function($file) { return $file[0]; // remove the modification time from the array }, $dir_contents); break;case 'date_desc': $dir_contents = array_map(function($file) use($path) { return [$file, filemtime("$path/$file")]; }, $dir_contents); // add file modification time to each file name usort($dir_contents, function($a, $b) { return $b[1] - $a[1]; // sort by modification time, descending }); $dir_contents = array_map(function($file) { return $file[0]; // remove the modification time from the array }, $dir_contents); break; default: sort($dir_contents, SORT_NATURAL | SORT_FLAG_CASE); // default sorting is by name, ascending}// set the number of images per page$per_page = 200;// get the current page number from the query stringif (isset($_REQUEST['pagination'])) { $pagination = $_REQUEST['pagination'];} else { $pagination = 1;}// calculate the offset$offset = ($pagination - 1) * $per_page;// remove non-image files from the array$dir_contents = array_filter($dir_contents, function($file) use($path) { return exif_imagetype("$path/$file");});// calculate the total number of pages$total_pages = ceil(count($dir_contents) / $per_page);// slice the array to get the current page's images$images = array_slice($dir_contents, $offset, $per_page);// print the imagesecho 'IMMAGINI:';echo '<div style="display: flex; flex-wrap: wrap;">';foreach ($images as $image) { // escape special characters in the image filename $escaped_image = htmlspecialchars($image, ENT_QUOTES); // print the image echo '<div style="width: 200px; height: 200px; margin: 10px;">'; echo "<a href='../../themes/advanced/imgs/items/$escaped_image' target='_blank'><img src='../../themes/advanced/imgs/items/$escaped_image' width='200' height='200'></a>"; echo "<div style='text-align: center; height:100%;'>$escaped_image</div>"; echo '</div>';}echo '</div>';// calculate the total number of pages$total_pages = ceil(count($dir_contents) / $per_page);// print the pagination linksecho '<div style="text-align: center;">';echo '<form action="main.php?page=servizi_listaoggettifolder" method="post">';echo '<select name="sort_by">';echo "<option value='date_desc'".($sort_by == 'date_desc' ? ' selected' : '').">Data ultima modifica (Prima i più recenti)</option>";echo "<option value='date_asc'".($sort_by == 'date_asc' ? ' selected' : '').">Data ultima modifica (Prima i più vecchi)</option>";echo "<option value='name_asc'".($sort_by == 'name_asc' ? ' selected' : '').">Nome (da A a Z)</option>";echo "<option value='name_desc'".($sort_by == 'name_desc' ? ' selected' : '').">Nome (da Z ad A)</option>";echo '</select>';echo '<input type="submit" value="Sort">';echo '</form>';// loop through the total number of pages and print the pagination linksfor ($i = 1; $i <= $total_pages; $i++) {if ($i == $pagination) {echo "<span style='font-weight: bold;'>$i</span> ";} else {echo "<a href='main.php?page=servizi_listaoggettifolder&pagination=$i&sort_by=$sort_by'>$i</a> ";}}echo '</div>'; } else { echo '<div class="warning">Non sei abilitato a vedere questa pagina</div>'; }//fine if se non si è admin ?> </div><!-- operazioni--></div><!-- box -->
25/07/2025 18:16:51 e modificato da blancks il 25/07/2025 18:17:17
Il problema direi che è qui:
$path = 'https://indirizzomiosito/themes/advanced/imgs/items';
Da quello che vedo al volo, dovrebbe essere un percorso locale e non una url.Se la pagina si trova in pages, prova a modificare $path in questo modo:$path = dirname(__FILE__, 2) . '/themes/advanced/imgs/items';
25/07/2025 19:43:16
@Blancks: così funziona perfettamente! Grazie mille! *__*
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!