Hirdetés
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- sziku69: Fűzzük össze a szavakat :)
- Toomy: FOXPOST régen jó volt, de ma már jobban jársz ha elfelejted.
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- MasterDeeJay: i7 4980HQ asztali gépben (vs i7 4770)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- laca223: A civilizáció mint bugos operációs rendszer
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Geri Bátyó: Agglegénykonyha 10 – Alapanyagok/készételek többféle felhasználása
Ú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
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Xiaomi 15T - reakció nélkül nincs egyensúly
- E-book olvasók
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- sziku69: Fűzzük össze a szavakat :)
- Milyen hagyományos (nem okos-) telefont vegyek?
- Autós topik
- Spórolós topik
- Epic Store Ünnepi Ajándékozás - 5. nap: Paradise Killer
- PlayStation 5
- További aktív témák...
- Samsung Galaxy Tab A9+ 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! HP EliteBook 745 G6 - Ryzen PRO 5 I 8GB I 256GB SSD I HDMI I 14" FHD I Cam I W10 I Gari!
- BESZÁMÍTÁS! ASRock B450 R5 5600X 16GB DDR4 512GB SSD RTX 3060 12GB Zalman Z1 Plus Cooler Master 750W
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060
- magyar billentyűzet - 136 - Lenovo Legion Pro 7 (16IRX9H) - i9-14900HX, RTX 4080 - 4 ÉV GARANCIA!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


máshoz nem tudom elképzelni.





