PHP segély

egyéb dolgok, amik már nem férnek bele másik kategóriába

PHP segély

HozzászólásSzerző: adamos42 » 2010.05.05. 17:24

Üdvözlök mindenkit! Liszkai Ádám vagyok és szeretnék valami webfejlesztő céget a jövőben, de addig is segítek annak akinek szüksége van rá! PHP-val már körülbelül 2 éve foglalkozom és egyelőre úgy látom nincs olyan amit meg ne tudnék az eggid megszerzett tudásommal oldalni.
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.05.05. 19:21

Ez egy egyszerű e-mail küldő, miután elküldted az e-mail egy felugró ablak jelzi, hogy el van küldve!

Kód: Egész kijelölése
<?php
//Címzett neve
$cimzett = "minta";

//E-mail cím amire az e-mail megy
$email = "minta@teszt.hu";

echo "<form method='post' action=''>";
echo "Neved: <input type='text' name='nev' /><br />";
echo "E-mail címed: <input type='text' name='kuldoemail' /><br />"
echo "Tárgy: <input type='text' name='targy' /><br />";
echo "<textarea cols='40' rows='6' name='uzi'>Kedves $cimzett!\n\n</textarea>";
echo "<center><input type='submit' name='kuld' value='E-mail küldése'></center>";
echo "</form>";

if ($_POST["kuld"]){

    $kuldo = $_POST['kuldoemail'];
    $targy = $_POST['targy'];
    $uzenet = $_POST['uzi'];

    mail("$email", "$targy", "$uzenet", "From: $kuldo\r\n"."Reply-to: $kuldo");

//egy felugró ablak jelzi, hogy az üzenet elküldve!
    echo "<script>alert('";   
    echo "<center><h2>E-mail elküldve!</h2></center>";   
    echo "');</script>";

}
?>


Ez ugyan csak egy e-mail küldő script, csak itt nem felugró ablak van, hanem az e-mail küldő form helyére írja ki, hogy az üzenet elment.

Kód: Egész kijelölése
<?php
//Címzett neve
$cimzett = "minta";

//E-mail cím amire az e-mail megy
$email = "minta@teszt.hu";

if ($_POST["kuld"]){

    $kuldo = $_POST['kuldoemail'];
    $targy = $_POST['targy'];
    $uzenet = $_POST['uzi'];

    mail("$email", "$targy", "$uzenet", "From: $kuldo\r\n"."Reply-to: $kuldo");

echo "<p><h2>E-mail elküldve!</h2></p>"
echo "<p><a href=\"$_SERVER[PHP_SELF]\">Vissza</a></p>"

} else {

echo "<form method='post' action=''>";
echo "Neved: <input type='text' name='nev' /><br />";
echo "E-mail címed: <input type='text' name='kuldoemail' /><br />"
echo "Tárgy: <input type='text' name='targy' /><br />";
echo "<textarea cols='40' rows='6' name='uzi'>Kedves $cimzett!\n\n</textarea>";
echo "<center><input type='submit' name='kuld' value='E-mail küldése'></center>";
echo "</form>";

}
?>
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.05.05. 19:23

Írjátok meg mire lenne szükségetek és megírom itt ebben a topicban!

Valamint ha valamit nem értetek a php-ban azt is írjátok le nyugottan!
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: vnorbi » 2010.05.08. 15:56

Szia :)
Megszeretném kérdezni hogy tudnál-e nekem segíteni. Nekem egy olyan kellene hogy SHOUTcast rádió szerver, és hogy a weboldalra kitudnám Íratni az utolsó 5-10 számot ami szólt. Esetleg még annyit hogy ki a műsorvezető, és a bitráta szám. Eddig olyant találtam ami azt írja ki hogy éppen mi szól.
Előre is köszi szépen.
vnorbi
 
Hozzászólások: 34
Csatlakozott: 2010.05.08. 15:50

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.05.08. 17:47

Szervusz!

A Shutchast szerverekhez nem értek, de találtam egy fasza tutoriált ami alapján tudtam csinálni egy lekérőt;
Ez annyit tud, hogy kiírja a jelenleg menő számot, azt aki adja a bitrátát, a hallgatottsági adatokat, az utolsó 19 számot, mivel ennyit jegyez meg a shoutcast is ha minden igaz :).


két fájlra van szükség:

config.php
Kód: Egész kijelölése
<?php
//BEÁLLÍTÁSOK

$scdef = "Server Neve";         // szerver neve
$scip = "0.0.0.0";              // szerver ip címe
$scport = "80";                 // szerver port száma
$scpass = "VÁLTOZTASS MEG!";           // jelszó a szerverhez
$ircsite = "irc.server.net";    // irc chat szerver szobája (ha van)
$file = "shout.xml";            // fájl amibe beleírjuk az adatokat
$cache_tolerance = "120";       // hány másodpercenként frissüljön?

///////////////////////////////////////////////////////////////////////////
// Ezt ne módosítsd, csak ha értesz hozzá!
///////////////////////////////////////////////////////////////////////////



if (!isset ($_REQUEST['do'])) {
  $_REQUEST['do'] = "";
}

if (file_exists($file)) {
  clearstatcache();
  $time_difference = time() - filemtime($file);
//   echo "$file frissítve lett: " . date ("Y F d | H:i:s.", filemtime($file)) . "( " . $time_difference . " másodperce) <br>" . "Következő frissítés " . $cache_tolerance . " másodperc mulva!<br>";
}
else {
  $time_difference = $cache_tolerance;
}
$scfp = fsockopen($scip, $scport, $errno, $errstr, 1);
if ($scfp) {
  if ($time_difference >= $cache_tolerance) {
    if (empty ($scsuccs)) {
      fputs($scfp, "GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
      while (!feof($scfp)) {
        $xmlfeed = fgets($scfp, 8192);
      }
      fclose($scfp);
    }
    $tmpfile = fopen($file, "w+");
    $fp = fwrite($tmpfile, $xmlfeed);
    fclose($tmpfile);
    flush();

    $xmlcache = fopen($file, "r");
    $page = '';
    if ($xmlcache) {
      while (!feof($xmlcache)) {
        $page .= fread($xmlcache, 8192);
      }
      fclose($xmlcache);
    }
  }
  else {

    $xmlcache = fopen($file, "r");
    $page = '';
    if ($xmlcache) {
      while (!feof($xmlcache)) {
        $page .= fread($xmlcache, 8192);
      }
      fclose($xmlcache);
    }
  }
  $loop = array("AVERAGETIME", "CURRENTLISTENERS", "PEAKLISTENERS", "MAXLISTENERS", "SERVERGENRE", "SERVERURL", "SERVERTITLE", "SONGTITLE", "SONGURL", "IRC", "ICQ", "AIM", "WEBHITS", "STREAMHITS", "LISTEN", "STREAMSTATUS", "BITRATE", "CONTENT");
 
  $y = '0';
  while (!empty ($loop[$y])) {
    $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
    $scphp = strtolower($loop[$y]);
    $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
    if ($loop[$y] == 'SERVERGENRE' || $loop[$y] == 'SERVERTITLE' || $loop[$y] == 'SONGTITLE' || $loop[$y] == 'SERVERTITLE')
      $$scphp = urldecode($$scphp);
    ;
    $y++;
  }

  $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
  $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
  $songatime = explode("<SONG>", $pageed);
  $r = 1;
  while (!empty ($songatime[$r])) {
    $t = $r - 1;
    $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
    $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
    $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
    $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
    $song[$t] = urldecode($song[$t]);
    $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
    $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
    $r++;
  }
//end song info
  $averagemin = "";
  $hours = intval(intval($averagetime) / 3600);
  $averagemin .= ($hours) ? str_pad($hours, 2, "0", STR_PAD_LEFT) : $hours . 'h&nbsp;';
  $minutes = intval(($averagetime / 60) % 60);
  $averagemin .= str_pad($minutes, 2, "0", STR_PAD_LEFT) . 'm&nbsp;';
  $seconds = intval($averagetime % 60) . 's';
  $averagemin .= str_pad($seconds, 2, "0", STR_PAD_LEFT);

  $irclink = 'irc://' . $ircsite . '/' . $irc . '';
  $listenamp = 'http://' . $scip . ':' . $scport . '/listen.pls';
  $listenlnk = 'http://' . $scip . ':' . $scport . '';
}
?>

Ezt akár ít is nevezheted/helyezheted valamivé/valahová, de persze ennek megfelelően az adatokat kiíró php-ban módosítanod kell a config.php elérési helyét vagy nevét.

Adatokat kiíró:
Kód: Egész kijelölése
<?php
require ("config.php");

if (!$scfp) {

    echo "A szerver nem elérhető!";

} else {

if ($streamstatus == "1") {

    echo '<table width="100%" tborder" cellpadding="6" cellspacing="1" border="0">
                           <tr>
                              <td thead" width="100%" colspan="6"><div><b>' . $scdef . ': ' . $servertitle . ' (' . $currentlisteners . '/' . $maxlisteners . ' @ ' . $bitrate . ' kbs)</b></div></td>
                           </tr>
                              <td rowspan="3" align="center"><img src="images/radio.gif" alt="' . $scdef . ': ' . $servertitle . ' (' . $currentlisteners . '/' . $maxlisteners . ' @ ' . $bitrate . ' kbs)" /></td>
                              <td valign="top" align="left">
                        <table border="0" cellpadding="1" cellspacing="0" width="100%">
                           <tr>
                              <td ></td>
                              <td width="5"> </td>
                              <td width="50%"><b>Most megy:</b></td>
                           </tr>
                           <tr >
                              <td width="50%" style="padding-left: 5px>
                              </td>
                              <td width="50%" style="padding-left: 5px" smallfont"><tt><marquee scrolldelay="100" scrollamount="5">+ ' . $song[0] . '</marquee></tt></td>
                           </tr>
                           <tr>
                              <td><br /></td>
                           </tr>
                              <table border="0" cellpadding="1" cellspacing="0" width="100%">
                                 <tr>
                                    <td width="100%" colspan="3"> </td>
                                 </tr>
                                 <tr>
                                    <td><b>Infók:</b></td>
                                    <td width="5">&#160;</td>
                                    <td width="50%"  align="left"><b>Utóbbi 19 szám:</b></td>
                                 </tr>
                                 <tr>
                                    <td valign="top" rowspan="4" style="padding-left: 5px" colspan="2" smallfont">
                                       <div >Legtöbb hallgató: <b>' . $peaklisteners . '</b><br />Most halgatják: <b>' . $currentlisteners . '/' . $maxlisteners . '</b><br />Bitráta: <b>' . $bitrate . '</b> kbs<br />Média típus: <b>' . $content . '</b><br />Kattintás: <b>' . $streamhits . '</b><br />Átlagidő: <b>' . $averagemin . '</b></div>
                                       <br /><hr width="90%" size="1" />
                                       Zeneszám: ' . $servergenre . '<br />Chat: ' . $icq . '<br />DJ: ' . $aim . '<br />Link a Chathez: <a href="' . $irclink . '">' . $ircsite . '</a> : #' . $irc . '<br />
                                    </td>
                                 </tr>
                                 <tr>
                                    <td width="50%" valign="top" rowspan="5" style="padding-left: 5px" smallfont"><div ><tt>+ ' . $song[1] . '<br />+ ' . $song[2] . '<br />+ ' . $song[3] . '<br />+ ' . $song[4] . '<br />+ ' . $song[5] . '<br />+ ' . $song[6] . '<br />+ ' . $song[7] . '<br />+ ' . $song[8] . '<br />+ ' . $song[9] . '<br />+ ' . $song[10] . '<br />+ ' . $song[11] . '<br />+ ' . $song[12] . '<br />+ ' . $song[13] . '<br />+ ' . $song[14] . '<br />+ ' . $song[15] . '<br />+ ' . $song[16] . '<br />+ ' . $song[17] . '<br />+ ' . $song[18] . '<br />+ ' . $song[19] . '</tt></div></td>
                                 </tr>
                              </table>
                              </td>
                           </tr>
                        </table>';

  }
  else {
 
  echo "Nem elérhető a szerver!";
                               
  }
}
?>


Kell létrehoznod még egy fájlt, shout.xml néven és kiterjesztésen! szerintem nagyon egyszerű lett :D ennek üresnek kell lennie! és ha más néven hozol létre az sem baj de a config.php-ban írd át hogy mi a neve! ja és ha valahova máshova tetted a config.php akkor a benne lévő shout.xml elérési útjának meg kell felelnie a config.php-ra nézve!

Csatolmányként feltöltöttem ezeket, hogy egyszerűbb legyen.
Csatolmányok
shoutcast.server.figyelo.zip
(2.57 KiB) 447 alkalommal.
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: vnorbi » 2010.05.08. 18:14

Köszi :D
Egyenlőre nem bírtam működésre bírni... Megy a zene, és azt írja hogy Nem elérhető a szerver!
Nembaj, még próbálkozok, hátha elírtam valamit :)
vnorbi
 
Hozzászólások: 34
Csatlakozott: 2010.05.08. 15:50

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.05.08. 18:21

Direkt ott van a becsomagolt változat, de ha mondjuk te adod a zenét akkor oda kell figyelni, hogy routert használsz-e mert akkor más az elérés a szerver felől, de otthonról viszont bejön a localhoston.
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: vnorbi » 2010.05.08. 18:56

Szia :)
Működik, rosszul írtam be a az elérést. 2 fizetős tárhelyem van, két különböző szolgáltatónál, az egyiket meg akarom szüntetni, és pont azon működik 8-) . A másiknál gondolom tiltva van, ami ehhez kell. De sebaj, beszélek majd a szerveressel..
Köszönöm szépen a segítségedet, ez már komolyabb mint amire gondoltam. :D
Szia :)
vnorbi
 
Hozzászólások: 34
Csatlakozott: 2010.05.08. 15:50

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.05.08. 19:01

Nincs mit! Örültem, hogy segíthettem, majd egyszer foglalkozok vele és komplett statisztikázót is csinálok belőle.
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: morpheus88 » 2010.05.26. 21:27

adamos42 írta:már régebben létrehoztam egy php segély topicot a segédletek fórumban. De a problémát ismerem, és javítani elvileg egyszerű de írd meg a topicomban is. A szerveren nem lehet 8M-nál nagyobbat feltölteni, le van korlátozva a
Kód: Egész kijelölése
POST_MAX_SIZE = 8MB

php infóval meg tudod nézni.


Jó estét!
Ha már fel lett ajánlva akkor szívesen venném a segítséget.:) Ahhoz képest hogy pár hónapja ismerem még a php-t
egész jól megy, de ahogy látszik akadnak még problémák, ez a 8 megás feltöltési korlát is érdekes, mert itthon a
xampp szerveren kipróbálva jól ment 8 mb felett is.Na de a lényeg, hogy mit takar a "javítani elvileg egyszerű" szókapcsolat
háttere?:) A segítséget előre is nagyon szépen köszönöm. :)
morpheus88
 
Hozzászólások: 4
Csatlakozott: 2010.05.26. 13:26

Következő

Vissza: Segédletek, Tippek, Egyebek

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég

cron