- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Google Pixel topik
- One mobilszolgáltatások
- Xiaomi 14T - nem baj, hogy nem Pro
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Külföldi prepaid SIM-ek itthon
- Hivatalos a OnePlus 13 startdátuma
Hirdetés
Köszönjük a sok biztatást, támogatást! Egy rövid ideig még féláron tudsz hirdetni, előfizetni!
Új hozzászólás Aktív témák
-
-
Speeedfire
félisten
válasz
pumatom #5273 üzenetére
érdekes a linkelt oldal, ugyanis ha rámegyek a ./randomra akkor a címsorba írja ki a kép címét, ilyet eddig még nem is láttam
ahogy fentebb is írták, ha social share-t szeretnél akkor elég lekérni a fájl nevét és azt hozzáilleszteni a link végére
ez a címsoros megoldás teljesen felesleges -
L3zl13
nagyúr
válasz
pumatom #5273 üzenetére
Szerintem ehhez url rewrite kell, azaz nem igazán PHP. Bővebben:[link]
De azt továbbra sem értem ettől miért lenne jobban linkelhető, mintha az lenne a címsorban, hogy http://weboldalneve.com/index.php?pic=sunshine.jpg vagy akár (adatbázissal kiegészítve) http://weboldalneve.com/index.php?picid=5324.
-
L3zl13
nagyúr
válasz
pumatom #5200 üzenetére
Kifejtenéd pontosabban, hogy hogy gondolod ezt a címsoros dolgot, mert nekem nem tiszta.
A képfájlok listájának generálását viszont át kéne dolgoznod mert van vele pár probléma.
Minek rakod pl egy stringbe és aztán explode-olod szét?
Mi van, ha egy fájlnév space-t tartalmaz?
Miért eregit használsz a fájltipus ellenőrzésére? Teljesen fölösleges itt regexp. Vagy ha már regexp akkor egy jó patternnel megoldható lenne.
Mi van ha a fájlnév tartalmazza a jpg/gif/png karaktersorok valamelyikét, nem a kiterjesztés? (jpgviewer.exe pl) -
cucka
addikt
válasz
pumatom #3534 üzenetére
Például lerakod a session-be azokat a képeket, amelyeket már megnézett a júzer.
A kódod utolsó négy sora így fog kinézni:
$imglist = explode(" ", $imglist);
if (isset($_SESSION['viewed_images']) && is_array($_SESSION['viewed_images']) && count($_SESSION['viewed_images'])<count($imglist)){
$imglist=array_diff($imglist, $_SESSION['viewed_images']);
}else {
$_SESSION['viewed_images']=array();
}
$random = array_rand($imglist, 1);
$image = $imglist[$random];
$_SESSION['viewed_images'][]=$image;A kód azt csinálja, hogy ha eddig kevesebb képet nézett meg a felhasználó, mint a képek száma, akkor a képek tömbjéből kivonja a már megnézett képek tömbjét, különben az eredeti képekből dolgozik. Ha a felhasználó már az összes képet látta, akkor a megtekintett képek tömbjét nullázni kell.
-
1ed
csendes tag
válasz
pumatom #3534 üzenetére
Helló!
Egy ilyesmi működhet:
<?php
$imglist='';
$img_folder = "images/pic/";
$imgs = dir($img_folder);
while ($file = $imgs->read()) {
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist .= "$file ";
} closedir($imgs->handle);
$imglist = explode(" ", $imglist);
if (!isset($_SESSION['imglist']) || !count($_SESSION['imglist']))
{
shuffle($imglist);
$_SESSION['imglist'] = $imglist;
}
$image = array_pop($_SESSION['imglist']);Hogy mennyire jó megoldás azt nem tudom.
-
tildy
nagyúr
válasz
pumatom #3511 üzenetére
cssel:
<style type="text/css">
#outer {height: 400px; overflow: hidden; position: relative; width: 100%;}
#outer[id] {display: table; position: static;}
#middle {position: absolute; top: 50%; width: 100%; text-align: center;} /* for explorer only*/
#middle[id] {display: table-cell; vertical-align: middle; position: static;}
#inner {position: relative; top: -50%; text-align: left;} /* for explorer only */
#inner {width: 200px; margin-left: auto; margin-right: auto;} /* for all browsers*/
/* optional: #inner[id] {position: static;} */
/* just format */
div.greenBorder {border: 1px solid green; background-color: ivory;}
</style>
</head>
<body>
<h1>Vertical and horizontal centering in valid CSS - Example</h1>
<div id="outer" class="greenBorder">
<div id="middle">
<div id="inner" class="greenBorder">
any text<br>
<b>any height, set width,</b><br>
any content, for example generated from DB<br>
everything is both vertically and horizontally centered<br>
</div>
</div>
</div> -
válasz
pumatom #3322 üzenetére
Közbe rájöttem, hogy lehet szürke mezei HTML-lel is csinálni Javascript helyett, szóval írd így a végét:
echo '<a href="' . $_SERVER['PHP_SELF'] . '"><img src="' . $img_folder . $image . '" border=0></a>';
Tehát ez linkesíti a képet, így ha rákattintasz, elvileg ugyanaz az oldal jön be a PHP_SELF cuccos miatt.
-
válasz
pumatom #3310 üzenetére
Képre való kattintáshoz nem PHP, hanem inkább Javascript kell, mert a kattintás a kliens oldalon történik a server (PHP) mit sem tud róla.
Már nem azért, de a kódot amúgy honnan kukáztad össze?
Kicsit kitakarítottam:<?php
$imglist = array();
$img_folder = 'images/pic/';
$imgs = dir($img_folder);
while ($file = $imgs->read()) {
if (preg_match("/\.gif$/i", $file) || preg_match("/\.jpg$/i", $file) || preg_match("/\.png$/i", $file))
$imglist[] = $file;
}
closedir($imgs->handle);
mt_srand();
$image = $imglist[mt_rand(0, sizeof($imglist)-2)];
echo '<img src="' . $img_folder . $image . '" border=0>'; -
Tele von Zsinór
őstag
válasz
pumatom #3241 üzenetére
$dir_objektum = dir("pics/");
$tomb = array();
while (false !== ($bejegyzes = $dir_objektum->read())) {
if (!is_dir($bejegyzes)) $tomb[] = $bejegyzes;
}
$dir_objektum->close();ez egy tömbbe pakolja a mappában levő fileokat, ebből kell neked egy random elemet kiválasztani.
jobb megoldás, ha adatbázisban tárolod, milyen filejaid vannak, és onnan választasz ki egy elemet, mysql esetén ez például
order by rand() limit 1
-
válasz
pumatom #2884 üzenetére
A dreamweaver jó php-re is, de csak nagyon minimálisan támogatja. Ha jó autokieges szerkesztőt akarsz, akkor az (eclipse alapú) Aptana Studio jó választás lehet. Nem találtam még jobbat nála. Bár ezt majd inkább akkor ajánlanám, ha pl már eljutottál az OOP-ig, mert azelőtt szvsz még csak zavarna a sok feature.
Új hozzászólás Aktív témák
- Interactive Brokers társalgó
- Android alkalmazások - szoftver kibeszélő topik
- Kerékpárosok, bringások ide!
- Vezetékes FEJhallgatók
- Synology NAS
- Házimozi haladó szinten
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Napelem
- Internet Rádió építése (hardver), és programozása
- ZIDOO médialejátszók
- További aktív témák...
- LG 48B4 - 48" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- BESZÁMÍTÁS! MSI B450M R7 1700X 16GB DDR4 128GB SSD 1TB HDD GTX 1650 Super 4GB Zalman T7 Chieftec 400
- HIBÁTLAN iPhone SE 2020 64GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3062, 100% Akkumulátor
- Eladó karcmentes Apple iPhone 12 128GB / 12 hó jótállással
Állásajánlatok
Cég: FOTC
Város: Budapest