Új hozzászólás Aktív témák
-
bucihost
senior tag
Sziasztok!
Adott egy admin felület, ahogy ugye van felhasználói profil.
A profilhoz lehetőség van feltölteni képet.
Ezt a funkciót össze dobtam egy JS-es "image upload&crop" dologgal.A működési elv:
- Megnyitod a profilnak szánt képet.
- Megjelenik a kép, kijelölöd rajta a profilnak szánt részt.
- Elmented( Majdnem ) működik is.
A Probléma:
A "box" ahol ez a megnyitott kép megjelenik, az 700 px széles. Ha megnyitok pl egy 1024-es (vagy afeletti) képet akkor csak 700px látszik belőle, a maradék kilóg a dobozból.
Ezt úgy oldottam meg, hogy a megjelenítésnél > width: 100%; height: auto;
Így a boxon "belülre" méretezi a képet viszont ha kijelölök rajta egy részt, akkor nem az átméretezett képből "vágja" ki a profilképet, hanem az eredeti méretűből.
Erre itt egy példa.
Erre valakinek valami ötlete?
-
bucihost
senior tag
Sziasztok!
Adott egy php script, mely ez xml-ből kiszűri a számomra fontos adatokat és kiírja azokat egymás után.
egy internetes rádió hallgatóinak:
-IP
-User agent
- mióta hallgatja a rádiótmiután leszedte az adatokat az alábbi módon írja ki:
<?php
if (is_array($data['listeners-list'])) {
foreach ($data['listeners-list'] as $list) {
echo '<tr>
<td>'. CC .'</td>
<td>'. $list['HOSTNAME'] .'</td>
<td>'. $list['USERAGENT'] .'</td>
<td>'. floor($list['CONNECTTIME']/3600)."h ".floor(($list['CONNECTTIME'] / 60) % 60) ."m ".floor($list['CONNECTTIME'] % 60)."s" .'</td>';
}
}
?>Eddig tökéletes, viszont maga az XML - nem tartalmaz CC (county code) adatokat, ezért szeretném azt én magam kiíratni valahogy.
Mi lenne ennek a legegyszerűbb módja?
-
-
bucihost
senior tag
Újabb falba ütköztem!
A script szépen kiírja minden hallgato agentjét. ().
Azt szeretném megoldani, hogy egy tömbben előre megadott szavakat (Mozilla, Opera, Chrome, Linux, Windows, Android, stb) keresse meg az $agent-ben, és amelyik szót megtalálja azt listázza ki.
Hogyan fogjak neki?
Eddig jutottam:<?php
$agent = $list['USERAGENT'];
if (strpos($tagent, "mozilla") !== false) {
echo "Mozilla";
}
?>így ez a rész működik, csak a tömbös részével nem vagyok képben
-
bucihost
senior tag
Sziasztok. van egy php script, ami egy internetes rádió admin felületéről leszedi a hallgatók adatait IP, ORSZÁG, MIÓTA HALLGAT ez egy xml file tartalma, ebből csinál egy tömböt és írja ki az adatokat.
Kb 1 hónapig jól működött, ma elkezdett homokórázni. Van hogy azonnal leszedi az adatokat, van hogy 1-2 percig gondolkozik rajta mire betölt a php script.
A kérdésem az lenne, hogy van valami (akár linuxos) parancs / program amivel nyomon lehetne követni lépésről lépsére, hogy betöltés közben melyik résznél akad el és kezd el gondolkozni? Apache logot néztem, semmi erre utaló sort nem találok benne. -
bucihost
senior tag
válasz bucihost #18811 üzenetére
rájöttem közben.... van a scriptnek egy ilyen része:
$ip = $list['HOSTNAME'];
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
if($query && $query['status'] == 'success') {
echo '<img src="zaszlo/'.$query['country'].'.png"/> ';
echo ''.$query['country'].', '.$query['city'].'.';
} else {
echo 'Ismeretlen';
}Ha ezt a részt kiveszem a kódból, akkor nincs gondolkodás / homokórázás.
Viszont ami feltűnt, hogy az ip-api.com-ot akárhányszor pingelem, mindig más IP-re oldja fel a domaint és van olyan IP ami nem válaszol... Gondolom ilyenkor akad el. Tudtok ajánlani valami alternatív megoldást?
-
bucihost
senior tag
Sziasztok. Adott egy weboldal, amiven van JS, Html, php is. A probléma az vele, hogy ha változás van kinézetben pl, akkor a böngészőkben (főként chromeban) nem jelennek meg rendesen a változások. AZ ok, hogy a böngésző cacheből tölti be a weboldalt, és eröltetve (ctrl + f5) újra kell neki tölteni a cachet. Ez ellen lehet valamit tenni szerver oldalon?
Szerk: Vagy ilyenkor elég lehet, ha pl a css-t átnevezem? pl: styles_v1.css
[ Szerkesztve ]
-
bucihost
senior tag
válasz fordfairlane #18923 üzenetére
Köszi, pont rá leletem én is a keresőben. Viszont találtam olyat is, ahol a verziózást "automatán" oldják meg. Miszerint a V=<? time() ?> ez is életképes lehet?
-
bucihost
senior tag
köszi mindenkinek
-
bucihost
senior tag
Sziasztok!
Adott egy üzenet küldő felület. Php + mysql.uzenet.php
A PHP úgy néz ki, hogy felül a szöveg beviteli box, alatta pedig táblázatba megjelenek sorba az üzenetek.
Az adminoknak megjelenik az üzenetek mellett egy törlés gomb is.
Itt a törlés kódja:if(isset($_GET["torol"])){
$torolni = "DELETE FROM `uzenetek` WHERE `id` = ".$_GET["torol"];
mysql_query($torolni);
mysql_close($kapcsolat);
header('Location: uzenet.php');
Die();
}Ha rányomunk a törlés gombra, akkor kitörli az adott ID-n szereplő üzenetet, viszont az oldalról eltűnik a táblázat (csak a szöveg beviteli boksz marad meg). Valamint nem dob vissza az uzenet.php-ra hanem marad pl az uzenet.php?torol=216 linken.
Mi lehet az oka?
-
bucihost
senior tag
Sziasztok.
Van egy chat, amiben van smiley feltöltési funkció ami nem "eszik meg" minden smileyt.
A log szerint a 40 es sorban van a hiba:
$is_image = getimagesize($_FILES['smiliefile']['tmp_name']);PHP Warning: getimagesize(): Filename cannot be empty
holott az feltöltő form szerint, a betallózott kép neve ott van (xyz.gif)
Mi lehet a gond?
itt a teljes insert kód
<?php
class AdminInsertSmilies extends DbConectionMaker
{
public function __construct (){
// call parent Constructor from class DbConectionMaker
parent::__construct();
session_start();
header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0');
// Sets charset and content-type for index.php
header('content-type: text/html; charset=utf-8');
// create new LangXml Object
$langObj = new LangXml();
$lang=$langObj->getLang()->admin[0]->admin_smilies[0];
if ($_SESSION['etchat_'.$this->_prefix.'user_priv']=="admin"){
$uploaddir = './smilies/';
$checkfile = "./smilies/".$_FILES['smiliefile']['name'];
if(file_exists($checkfile)){
$nowname = time()."_".$_FILES['smiliefile']['name'];
$notes ="".$lang->file_exists[0]->tagData." ".time().".".$_FILES['smiliefile']['name']."<br>";
}else{
$nowname = $_FILES['smiliefile']['name'];
$notes ="";
}
// Test if the sign exists in the DB
$res = $this->dbObj->sqlGet("select etchat_smileys_id FROM {$this->_prefix}etchat_smileys where etchat_smileys_sign = '".$_POST['sign']."'");
if (is_array($res)){
$print_result.= $lang->sign_exists[0]->tagData."<br>";
$print_result.= "<a href='./?AdminSmiliesIndex'>".$lang->back[0]->tagData."</a>";
}else{
$is_image = getimagesize($_FILES['smiliefile']['tmp_name']);
if (is_array($is_image)) {
move_uploaded_file($_FILES['smiliefile']['tmp_name'], $uploaddir . $nowname);
$this->dbObj->sqlSet("INSERT INTO {$this->_prefix}etchat_smileys(etchat_smileys_sign,etchat_smileys_img) VALUES ('".$_POST['sign']."', 'smilies/".$nowname."')");
$print_result.= $lang->isupload[0]->tagData."<br>";
$print_result.= $notes;
$print_result.= "<br><a href='./?AdminCreateNewSmilies'>".$lang->smilie[0]->tagData."</a>";
$print_result.= "<br /><a href='./?AdminSmiliesIndex'>".$lang->back[0]->tagData."</a>";
} else {
@unlink($_FILES['smiliefile']['tmp_name']);
$print_result.= $lang->noupload[0]->tagData;
//print_r($_FILES);
$print_result.= "<br /><br /><a href='./?AdminSmiliesIndex'>".$lang->back[0]->tagData."</a>";
}
}
// Include Template
include_once("styles/admin_tpl/insertSmiliesMessage.tpl.html");
}else{
echo $lang->error[0]->tagData;
return false;
}
}
} -
bucihost
senior tag
-
bucihost
senior tag
Sziasztok!
Adott egy mysql adatbázis, amibe egy program logolja a szerverre csatlakozott IP címeket.
ID IPPORT IDO
amikor le akarok kérdezni az adatbázisból egy adott ip+port párost,
SELECT *
FROM `ipadatbazis`
WHERE ipport = 'xxx.xxx.xxx.xxx:xxxx'akkor ezt kapom vissza:
A MySQL üres eredményhalmazt adott vissza (pl. nulla sorok). (a lekérdezés 0.0003 másodpercig tartott)
Mi lehet a nyűge? ha ID-re vagy IDO-re szűrök rá, akkor lehoz mindent amit kell
-
bucihost
senior tag
ismét itt...
Adott egy php script, ami lefuttat egy parancsot (curl).
A lényeg az (lenne) hogy mindaddig futtatja a curlokat, amíg a sikeres futások száma el nem éri az 5-öt.
(leszedi a pid et, majd ha fut akkor mysqlbe +1-el)<?
$aktualis = mysql_query("SELECT * from `ipadatbazis` where id = 1");
$aktleker = mysql_fetch_array($aktualis);
$aktszam = $aktleker['szamlalo'];
$maximum = '5';
if ($aktszam < $maximum)
{
$i=0;
$sqllekerd = mysql_query("SELECT * FROM `ipadatbazis`");
While($lekerdadat = mysql_fetch_array($sqllekerd))
{
$i++;
$command = "";
$pid = exec($command, $output);
sleep(1);
exec("ps -p $pid", $kimenet);
if (count($kimenet) > 1)
{
$plusz = "UPDATE `ipadatbazis` SET `szamlalo` = szamlalo+1 where id = 1";
mysql_query($plusz);
}
}
}
else
{
die();
mysql_close($kapcsolat);
}
?>Addig eljut, hogy elkezdi az $commandot futtatni egymás után valamint +1 el az adatbázisba, viszont ha eléri az az 5-ös "limitet" nem áll meg. Futtatja magát a végtelenségig amig ki nem lövöm kézzel. Ha kilövöm és újra elindítom a php-t akkor már nem fut le, mivel az adatbázisban szereplő szám jóval több mint 5. Mi lehet a gond, mit rontottam el?
[ Szerkesztve ]
-
bucihost
senior tag
Sziasztok!
Hátha tudtok segíteni. Nem tudom milyen úton induljak el, és nem is igazán tudom mi lenne ennek a "sávnak" a neve. Szeretnék a weboldalba beépíteni egy JS vagy egyéb alapú sávot, amely a weboldalon "kívülre", kerül. Így a weblapon böngészve, a sáv tartalma nem változik, nem frissül, sbt. Egy zene lejátszó lenne a sávban.
Milyen néven keressek erre megoldást?
Köszi előre is.
[ Szerkesztve ]
-
bucihost
senior tag
Sziasztok!
Adott egy array, ami tartalmazza a csatlakozott kliensek adatait. Ennek kimenetéből egy részlet:
[list] => Array (
Array
(
[HOSTNAME] => 78.92.X.X
[USERAGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
[CONNECTTIME] => 16283
[UID] => 2450105
)
Array
(
[HOSTNAME] => 89.134.X.X
[USERAGENT] => Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
[CONNECTTIME] => 4267
[UID] => 2450756
)
Array
(
[HOSTNAME] => 188.142.X.X
[USERAGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
[CONNECTTIME] => 3890
[UID] => 2450783
)
)Ezekkel az adatokkal dolgozok tovább (grafikonok, statisztikiák stb). Viszont vannak olyan IP címek amiket ki akarok hagyni (Saját IP, szerver IP stb). Van arra valami lehetőség, hogy azt a blokkot ne is jelenítse meg egyáltalán ahol a HOSTNAME értéke egy adott IP cím?
[ Szerkesztve ]
-
bucihost
senior tag
Sziasztok!
Nem igazán találtam neki megfelelő topicot, ezért offba teszem.
CGI -file tartalmát hogyan lehetne olvashatóra átalakítani?
Ez egy linuxos program webes admin felületének cgi-je. Vannak érdekességek a programmal, pl kommunikál egy másik szereverrel.... kíváncsi lennék rá miért... -
bucihost
senior tag
válasz instantwater #19834 üzenetére
Csak arra lenék kíváncsi, hogy "mit csinál" a háttérben.
-
bucihost
senior tag
Sziasztok!
Adott egy szöveges file, amely felhasználói adatokat tartalmaz.
login_1=user1
desc_1=desc1
priority_1=5login_2=user2
desc_2=desc2
priority_2=5login_2=user3
password_2=desc3
priority_2=5php-val az megvalósítható valahogy, hogy kilistázza az usereket és törölni tudjak? (törölje a törölni kívánt userhez tartozó 3 sort a fileból). Ha igen akkor merre induljak?
-
bucihost
senior tag
válasz sztanozs #19866 üzenetére
jogos. ott elírás van.
A file amit szerkeszteni akarok, egy programnak a conf fájlja.. A szerkesztést "paraszt" módon sikerült megoldanom (ezt inkább nem linkelném, mert páran eldobnátok az agyatokat ).
A másik rész amit nem igazán tudok megoldani: ugyan ehhez a filehoz tartozik egy xml file is. (calendar.xml).
<eventlist>
<event type="user">
<user archive="0">user1</user>
<calendar repeat="127"/>
</event>
<event type="user">
<user archive="0">user2</user>
<calendar repeat="127"/>
</event>
<event type="user">
<user archive="0">user3</user>
<calendar repeat="127"/>
</event>
</eventlist>
Ehhez egy php:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("calendar.xml");
$user = $xmlDoc->documentElement;
$users = $user->getElementsByTagName('user');
foreach($users as $users2){
echo $users2->nodeValue, PHP_EOL;
} ?>
Ez kilistázza az usereket. Az megoldható valahogy, hogy tudjak az XML-ből eventet törölni? Mmint ahol az <user> xyz, azt az eventet törölje? Ezzel az xmles résszel semennyire sem vagyok tisztában
[ Szerkesztve ]
-
bucihost
senior tag
Köszi. így sikerült megoldani (félig).
<?php
$dom = new DOMDocument();
$dom->load('calendar.xml');
$library = $dom->documentElement;
$xpath = new DOMXPath($dom);
$result2 = $xpath->query('/eventlist/event[user="user2"]');
$result2->item(0)->parentNode->removeChild($result2->item(0));
$dom->save('calendar.xml');
?>
Viszont azt hogy tudom megoldani, hogy egy változóból vegye az user nevét? próbáltam úgy, hogy [user="user2"] helyett [user='.$torolni.'] de elhasal
-
bucihost
senior tag
Sziasztok!
Adott egy lekérdezés:$smil_array=$this->dbObj->sqlGet("SELECT etchat_smileys_sign, etchat_smileys_img, csoport FROM {$this->_prefix}etchat_smileys where csoport = 'mozgo'");
foreach ($smil_array as $smil)
echo "<img src=\"".$smil[1]."\" id=\"".$smil[0]."\" style=\"cursor:pointer;max-width:200px;max-height:100px;\">\n";
Az megoldható egy gomb vagy bármi segítségével, hogy újra lefusson más paraméterekkel?
pl: csoport = 'kep' és azok jelenjenek meg anélkül, hogy az oldal maga újra töltődne? Ha igen, hogyan? -
bucihost
senior tag
Sziasztok!
Adott az alábbi kód, valamint egy vicc adatbázis amelyben az üres sor lenne az elválasztója 1-1 viccnek.<?php $file = 'vicc.txt';
$read = file($file);
$rand_keys = array_rand($read, 2);
$joke = $read[$rand_keys[0]];
echo $joke;
?>
A vicc.txt tartalma:Margarin:
Két egér beszélget a kamrában:
- Rád fog esni a margarin!
- Rámamargarin?
Hogy kapta Benedek Elek a nevét?
Anyukája reggel beszólt a kisfiának:
- Benn vagy még az ágyban?
- Benne, de kelek.
Trükk:
- Mondja Kovács bácsi, maga mit szokott csinálni, ha este nem tud elaludni?
- Én? Elszámolok háromig, és már alszom is.
- Tényleg? Csak háromig?
- Háromig, de van úgy, hogy fél négyig is.Ugye maga a php soronként szedi szét..
Hogyan tudnám a legegyszerűbben megoldani, hogy 1-1 vicc legyen ne pedig 1-1 sor az 1-1 array element? Vagy meg lehet egyáltalán oldani?
[ Szerkesztve ]
-
bucihost
senior tag
Sziasztok!
Adott az alábbi kód. Ami nem akar működni...
if(isset($_GET['disable'])){
$disid = $_GET['disable'];
$file = 'calendar.xml';
$xmlstr = file_get_contents($file);
$xml = new SimpleXMLElement($xmlstr);
echo $xml->event[$disid]->name;
}
$disid értéke szám.
Amire az alábbi hibaüzenetet kapom:
Notice: Trying to get property of non-object in .....
ha a $disid helyére én kézzel írom be a számot ( echo $xml->event[0]->name; ) akkor működik.Mi lehet a nyűge??