Internet: PHP, CGI, stb.

PHP tömb anomália

Sziasztok!


$path = 'arak_modules';
$modultipusok = array();
foreach (scandir($path) as $file) {
if ($file != "." && $file != "..") {
$file = explode('_', $file);
if ($file[0] == "arak" && $file[1] == "module") {
$file_szurt = $file[2];
$file_szurt = explode('.', $file_szurt);
$modultipusok[] = strtoupper($file_szurt[0]);

foreach ($modultipusok as $tipusok) {
echo $tipusok.'
';
}
}
}
}

Ez a kódrészlet annyit tesz, hogy kilistázza az arak_modules könyvtárban lévő fájlokat, melyek így épülnek fel: arak_module_csv.php, arak_module_xml.php, stb... majd ebből kivágja a második _ utáni, és a pont előtti részt, így marad a csv, xml, stb. és ezt teszi bele egy $modultipusok tömbbe, végül foreach-al építenék fel egy űrlapot: rádió gombosat.

Működik is szépen, csak épp azzal a bibivel, hogy a tömb legelső (vagyis a nulladik) elemét kétszer írja ki:

CSV
CSV
XML

Nem bírok rájönni, mi lehet a gond. Természetesen az arak_module könyvtárban csak 1-1 példány szerepel a szükséges fájlokból.

Remélem elég érthető voltam és tudtok segíteni.

Előre is köszi.
Üdv:
gkaroly

exec föggvény gond

Üdv!

Napok óta olvasgatok a fórumon, találtam hasonló témákat, de a megoldást nem leltem meg. Php programból kellene egy linux parancsot futtatni. exec(); utasítás a megoldás. Ami a gond, hogy a lefutás közben engedély megtagadva jelenik meg. Egy szolgáltatást szeretnék elindítani php alól. pl: etc/init.d/pure-ftpd-mysql start . A webkiszolgálónál sikerült úgy megoldani, hogy "service apache2 start". Ezt engedi. Viszont a játékszerver, netrádió, stb dolgait + 200sor lenne bepakolni az init.d szolgáltatás listájába. És feleslegesnek is tartom, amikor van rá egy egyszerű parancs, csak nem fut le.

ötleteket várok!
köszi
wolfi

MySQL-PHP-longblob-kepek

Sziasztok!

Kényszerből a képeket adatbázisban kell tárolnom.
Lekérdezéskor viszont nem tudom megjeleníteni. Hibás, sérült fájlként ismeri fel. Ha az adatbázisba Myadmin felületen közvetlenül viszem be a képet, akkor gond nélkül ki tudom olvasni, és megjeleníteni. A megjelenítést kétféleképpen is próbáltam: közvetlenül (header ...) megjeleníteni, illetve adatbázisból kiolvasás után fájlba kiírtam, majd onnan megjeleníteni.
Olyannak tűnik a hiba, mintha a képfájlok (jpg) metaadatai nem töltődnének be a longblob mezőbe. (Ez csak tipp.)
Mellékelném a programot. Ez kétfájl, az egyik egy sima form, a másik az, amelyik feldolgozza az adatokat. Ez a fájl a feldolgozás után ki is olvassa az adatbázisból a képet, és próbálná megjeleníteni.Sikertelenül. Volt olyan eset, hogy Firefox-l megjelent a kép, de Chrome-l illetve IE-vel soha nem jelent meg.

( A beküldés előtt megnéztem az előnézetet, és a tag (csibecsőrök) jelek nem jelentek meg. Ezért ezeket kitöröltem innen. )

Beolvasás:

<?php

require('fuggvenyek.php');
print ("body bgcolor=\"#dce8cf\" ");

# file feltoltes

print "br File feltöltése br";

print "form enctype=\"multipart/form-data\" action=\"proba-1.php\" method=\"post\" ";
print "Tölts fel egy képet magadról";
print "input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"2048000\" ";
print "input type=\"file\" name=\"arckepe\" ";
print "input type=\"submit\" name=\"Tovabb\" value=\"Tovább\" ";
print "input type=\"reset\" name=\"Alaphelyzet\" value=\"Alaphelyzet\" ";
print "/form";

?>

Adatbázisba rögzítés, kiolvasás, megjelenítés:

<?php

# hivo : buvar.php

require('fuggvenyek.php'); # adatbazis megnyitas
print ("body bgcolor=\"#dce8cf\" ");

$FileName =addslashes($_FILES['arckepe']['name']);
$filesize =$_FILES['arckepe']['size'];
$filetype =$_FILES['arckepe']['type'];
$filecontent =file_get_contents($_FILES['arckepe']['tmp_name']);
$filecontent =addslashes($filecontent);

$sql="insert into proba (name, type, size, content) values ('$FileName', '$filetype', '$filesize', '$filecontent') ";
$success=mysql_query($sql) or die ("Nem sikerült az insert
" .mysql_error() ."
" .mysql_errno() );

# file letoltese

$sql="select name, type, size, content from proba where id='1' ";
$result=mysql_query($sql) or die ("Nem sikerult a select");

list ($name, $type, $size, $content) = mysql_fetch_array($result);

#header("Content-length: $size");
#header("Content-type: $type");
#header("Content-Disposition: attachment; filename=$name");
#echo $content;
#exit;

$ut="kepek/".$name;
file_put_contents("$ut", "$content") or die("
nem irtam a fajlba");

print "img widht=\"120\" height=\"90\" src= \"$ut\" /img";

?>

Segítségeteket előre is köszönöm
Gábor

[megoldva] tört méretű cella?

Adott ez a kis html:


<html>
<head><style>
* { padding: 0px; margin: 0px; border: 0px; }
table { border-collapse: collapse; }
</style></head>
<body>
<table style="width: 200px"><tr>
<td style="width: 100px; padding: 10px"><img width="10" height="10" src="x.y"></td>
<td style="width: 100px; padding: 10px"><div>x</div></td>
</tr></table>
</body>
</html>

Ha nincs benne az img, akkor mindkét cella 80 pixel széles. Ha benne van az img, akkor az első cella 80.3333 pixel széles lesz, a másik meg 79.6667 pixel. Firefox 4, Firebug-gal nézem, a layoutban egész értéket ír, de a computed résznél pontosan ezt. Ez mitől van? Egy weblapot dizájnolok programozóként, nem vagyok túlzottan képben az ilyen érdekességeket illetően, és ott sajnos 2-3 pixellel is széttolódik a layout képek, silverlightok, google maps, stb. miatt.

Megoldás: én néztem be, köszi zoner. A padding miatt a táblázatnak 240 szélesnek kellett volna lennie, 200 pixel mellett a tartalom függvényében méretez a böngésző. Kis különbségeknél csak tört méretben tér el a jótól, egyébként meg az én konkrét esetemben ez magyarázza a sok pixeles eltérést is.

CMS fejlesztés

Sziasztok!

Véleményt, tanácsot, gondolatot szeretnék kérni, már amennyiben az a leírtak szerinte lehetséges...

Van egy CMS rendszerem bő 6 éve fejlesztem (hol több, hol kevesebb időráfordítással). Jelenleg érkeztem el arra a szintre, hogy kellően összetett és nagy lett ahhoz, hogy egyedül nagyon sok áldozattal tudom csak szinten tartani(trendek, új funkciók beépítése). Megrendelők szeretik, úgy tűnik sikerült egy jó irányt elkapnom vele (átlátható, könnyen kezelhető), főként internetes kereskedelemre igyekeztem kihegyezni amellett, hogy az egyszerübb oldalakat is rá lehessen ültetni, eddig már szinte az összes népszerű funkcióra készült vele oldal, webáruház, fórum, blog, képgaléria stb. (saját stat, hírlevél küldő). PHP, PostgreSQL, Jquery nyelveken formálódik. Az nyílvánvalóvá vált számomra, hogy idáig megérte a befektetett energiát egy open/fizetős kész alternatívávval szemben. Teljes időben webfejlesztéssel foglalkozom, több futó projektem is van, de ahhoz még nincs elég bevételem, hogy teljes munkaidőre felvegyek egy pár fős csapatot, akikkel tovább tudom vinni a CMS fejlesztését amellett hogy a kenyérkereső munkákat is megfelelően ellátom.

A dilemmám az, hogy mi lenne az optimális továbblépés, hogy a program is fejlődjön, meg az asszony se zárjon ki a kutyához :), van-e valakinek hasonló saját vagy ismerősi tapasztalata? Alternatívák melyeken gondolkodom: megkockáztatok egy főt főállásban (ez még többé-kevésbé menne saját erőből, de mivel az ő munkája csak közvetve lenne profit termelő ez is nagy áldozat...), v. keresek befektetőt és komolyabb üzleti tervet kidolgozva normál kamatért vagy üzleti részesedésért(van ennek realitása?) meglépem a 2-3 fős csapatbővítést, v. keresek programozó magánszemélyeket/csapatot és egy üzleti modellt lefektetve részesedéses alapon fejlesztünk együtt tovább (szintén nem tudom mennyire van realitása). Alternatíva még az open-é tétel is, de attól tartok ez esetben a legkisebb a megtérülési mutató valamiből pedig lakáshitelt is kell fizetni :).

Mindegyik verziónak van rengeteg buktatója amire azt hiszem nincs most értelme kitérnem.

Előre is köszi hozzászólásokat!

[MEGOLDVA]LF -> <BR>

Nem hiszem el, hogy nincs egy ilyen segéd program. Csak egy naplófájlt akarok kitenni cgi scriptből, valahogy így:


#!/bin/sh
echo Content-type: text/html
echo ""
... itt mindenféle head meg body
tail -f valami.log

Próbáltam a txt2html -t de az sem ezt csinálja :(
Tudtok valami használhatót?

AMS/ADS protokoll implementálása php-ben

Sziasztok,

a következö a felállás: soha az életben nem csináltam még semmilyen "mélyebb" netes dolgot és mindig is érdekelt, hogyan müködik a kommunikáció valójában. Más okok miatt érdekelne az AMS/ADS protokoll implementációja (bal oldali frame-ben kell tovább lépegetni), amely nem tünik túl komplikáltnak és megoldhatatlannak.

Az egészet php parancssorban (CLI), mert az adatokra neten lenne szükségem és a php-t jól ismerem. Most ott tartok, hogy
- van wireshark-ban helyes mintám ADS-re (összehasonlítás végett) itt (a 3. frame-töl indul),
- összeraktam egy (szerintem) helyes AMS csomagot
- php-ban megnyitok egy raw TCP socket-et és beletolom a csomagot
- már volt olyan, hogy kaptam rá ACK-t, de választ nem (wireshark log itt)
- jelenleg csomag ki, nincs ACK és crtl+C és újrafuttatás után már csak RETRANSMIT-ot sikerül küldeni, amire megint nincs válasz.
- hiába adom meg a protokoll által megkövetelt port-ot (48898), nem azon, hanem mindig a 12336-on küldi a csomagot.

Kérdéseim:
1) hogyan lehet a php-t rábírni a megadott port kötelezö betartására?
2) hogyan tudom az OP-rendszert rávenni, hogy ha bázárok/kilövök egy csatornát, a következö küldemény ne RETRANSMIT legyen?
3) a helyes mintában lévö 3 és 5-ös frame kiküldésére szükség van, hogy létrejöjjön a kommunikáció? (192.168.10.96 -> állógép, .200 -> PLC)
4) a protokollleírásban szereplö AMS/TCP headert (2 bájt 0x00 + 4 bájt adathossz) kell a socket-re írandó adatsorban legelöször küldeni, ugye? A hosszat elég úgy számolni, hogy megszámolom hány bájt van az AMS-header elejétöl a DATA rész végéig?

Nézegettem a TCP/IP alapok pdf-et, de nem találtam mindenre választ és guglin sem találtam a sepciális problémáimra választ. Ha valakinek több tapasztalata van, kérem ossza meg, mert szivesen tanulnék belöle!

Elöre is köszi!

Html scraping

Sziasztok!

Szeretném kérni egy hozzáértő segítségét az alábbiakhoz:

A példa kedvéért: http://uc.worldoftanks.eu/uc/clans/500002057/#wot&mt_order_by=role linken található játkosok személyi adatit kellene táblázatos formában rögzítenem és utánna wordpressbe megjeleníteni.

(A wordpress ws scraper pluginje nem működik nekem.
Excell adatok importálása weboldaból nem működik nekem.)

Mit javasolnátok a feladat megoldására?
Vagy hogyan oldanátok meg?

PHP - URL alapú feladatvégzés

Elkezdtem tanulni PHP-t. Van egy szkriptem, ami jelenleg annyit csinál, hogy változó értéke (igaz vagy hamis) alapján teszi a dolgát.

Pl.

$valtozo = true;

if ($valtozo) {
....
}

Szeretném, ha ugyanezt megtehetném úgy is, hogy adott feladat csak akkor hajtódjon végre, ha mondjuk a szkriptet így indítom: valami.php?feladat

Esetleg össze is fűzhessem: valami.php?feladat1&feladat2

Nem tudom, ezt, hogyan tudom véghez vinni, ha lenne valaki, aki ezt elmagyarázná nekem dióhéjban, milyen függvény(ek) kell(enek), mit nézzek meg, stb., azt hálásan megköszönöm.

Üdv.
gkaroly