Hirdetés
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Xiaomi 15T Pro - a téma nincs lezárva
- iPhone topik
- Hét évig frissül az új iQOO
- Honor Magic6 Pro - kör közepén számok
- Apple iPhone 17 Pro Max – fennsík
- Fordulat: időben startol S26+, nézd meg, milyen lesz!
- Amazfit Helio Strap – képernyőmentesen
- A legújabb iPhone kiegészítő egy zokni, amit magunkra akaszthatunk
- Samsung Galaxy S22 Ultra - na, kinél van toll?
Ú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
- World of Tanks - MMO
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Milyen légkondit a lakásba?
- One otthoni szolgáltatások (TV, internet, telefon)
- Xiaomi 15T Pro - a téma nincs lezárva
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Kormányok / autós szimulátorok topikja
- Milyen asztali médialejátszót?
- iPhone topik
- Hét évig frissül az új iQOO
- További aktív témák...
- Victus 15fa1002sf 15.6" FHD IPS i5-12500H RTX 4060 16GB 512GB NVMe gar
- X1 Yoga 6th 2-in- 14" FHD+ IPS érintő i5-1145G7 16GB 1TB NVMe ujjlolv IR kam aktív toll gar
- Ps5 2 év garanciával teljesen új 1 kontrollerel számlával dobozzal
- Asus TUF Gaming A15 AMD Ryzen 5-7535H/16GB RAM/512GB SSD/RTX3050VGA/15,6" 144Hz kijelző
- iPhone 15 128GB Kék Független Használt/1-3 hónap gar./Akku 83%/p4563
- Honor X6a 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÚJ HP Pavilion 16 - 16"IPS WUXGA - Ryzen 5 8540U 16GB - 512GB SSD - Win11 - 3 év garancia - MAGYAR
- Apple iPhone 13 Pro Max Sierra Blue ProMotion 120 Hz, Pro kamerák 128 GB Használt, szép,100%
- Samsung Galaxy S24 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


máshoz nem tudom elképzelni.






