-
Random da cartella
Salve a tutti! Ho una cartella che si chiama pics_original, e dentro ci stanno molte immagini. Ci clicco , il percorso è /chat_universal2/pics_original. Iovorrei fare che nella home mi spuntassero immagini a caso. H o provato con questa funzione
Codice PHP:
$random = mysql_fetch_array(mysql_query("SELECT url, uid FROM ORDER BY RAND() LIMIT 1"));
echo "<img src=\"$random[0]\" alt=\"$random[1]\"/>";
echo "
";
$nick = getnick_uid($random[1]);
$urlnick = "<a href=\"index.php?action=viewuser&sid=$sid& who=$random[1]\"/>$nick</a>";
echo "by: $urlnick";
ma non ho tabella nel database, ma non so come modificare. E poi provato con quest'altra funzione
Codice PHP:
$dir = "chat_universal2/pic_originals";
if (is_dir($dir)) {
if ($folder = opendir($dir)) {
while (($files = readdir($folder)) != false)
$content[]= $files;
closedir($folder);
}
}
echo($content[rand(0, sizeof($content)-1)]);
ma nella home non spunta niente. Come potrei risolvere? Grazi per la risposta :wink:
-
Codice PHP:
<?php
$dir = "/chat_universal2/pic_originals"; // Senza slash finale
$img = array();
$img = glob($dir."/*");
$con = count($img);
$ran = rand(0,$con);
echo "<img src=\"".$img[$con].\" alt=\"\" />";
?>
Inserisci questo codice dove vuoi che compaia un immagine casuale prelevato dalla cartella $dir
-
Ciao miki grazie, le immagini non si vedono, rimangono caricate! All'interno della cartella ci sono file così, con questi formati. leviathan73(1).gif, .jpg, .png, .peg, .JPG, .jpg, GIF, ecc ecc ..
-
Si scusami piccolo errore di distrazione:
Codice PHP:
<?php
$dir = "/chat_universal2/pic_originals"; // Senza slash finale
$img = array();
$img = glob($dir."/*");
$con = count($img)-1;
$ran = rand(0,$con);
echo "<img src=\"".$img[$ran]."\" alt=\"\" />";
?>
Questo funziona di sicuro.
-
Rimane sempre caricato! Forse non ho capito questo
$img = glob($dir."/*");
devo scrivere qualcosa ? Ho fatto solo copia incolla della funzione che hai fatto.
-
Che vuol dire rimane caricato?? Vuoi dire che l'immagine non cambia ma rimane sempre la stessa?
-
Vuol dire che non si vede l'immagine, spunta solo un quadratino..
-
Forse è errato il percorso perchè come puoi vedere qui lo script non ha problemi.
Elimina lo slash iniziale dalla variabile $dir:
Codice PHP:
$dir = "chat_universal2/pic_originals"; // Senza slash finale
-
Miky fatto.. adesso si vedono grazie :) Ma le immagini sono enormi, si dovrebbero rimpicciolire.. Un altra cosa , per vedere le immagini che sono nel profilo degli utenti, come potrei fare?
-
Beh se vuoi modificare le immagini rendendole più piccole puoi filtrarle tramite qualche classe prefabricata che ti realizzi delle thumbnail a tua scelta oppure puoi sostituire:
Codice PHP:
echo "<img src=\"".$img[$ran]."\" alt=\"\" />";
Con:
Codice PHP:
echo "<img src=\"".$img[$ran]."\" style=\"height:100px; width:100px\" alt=\"\" />";
Così che ti rimpicciolisca le immagini a 100x100 (naturalmente puoi modificare a tuo volere).
Riguardo gli avatar degli utenti: Hanno una cartella diversa? Se si, vuoi che in modo del tutto casuale compaia un immagine da cartella1 o da cartella2?
-
Ti spiego.. nel profilo degli utenti c'è una immagine, e vorrei che comparisse solo quella che hanno nel loro profilo. Quì è dove mettono l'indirizzo dell'immagine, per poi vedersi
Codice PHP:
echo "Profile Pic: <input name=\"savat\" value=\"$avat\" maxlength=\"100\"/><br/>";
in un altro file ho questo codice dove si clicca il nick, per poi vedersi l'immagine
Codice PHP:
echo "Profile Pic: <input name=\"savat\" maxlength=\"100\" value=\"$avat\"/><br/>";
Quì ho il richiamo per vedersi l'immagine
Codice PHP:
$avlink = getavatar($who);
if($avlink=="")
{
echo "";
}else{
echo "<img src=\"$avlink\" alt=\"$whonick\"/><br/>";
}
Nella home ho messo così
Codice PHP:
echo "<p align=\"center\"><a href=\"index.php?action=viewuser&sid=$sid&who=$trid\">Guarda Profilo</a><br/>";
$avlink = getavatar($who);
if($avlink=="")
echo "";
echo "<img src=\"$avlink\" alt=\"$whonick\"/><br/>";
..ma non si vede l'immagine.. E poi quando si clicca Guarda Profilo, spunta che bisogna registrarsi, e invece dovrebbe spuntare il profilo..