IT NEWS PC REVUE PC FORUMInternet time: @670
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Novinka - Inteligentná reklama

Objavte novinku na reklamnom trhu! Inteligentná reklama Retarget. www.retarget.sk

Výnimočný e-shop BiTiTi.sk!

Hardware, software, elektronika za skvelé ceny. Všetko skladom !!! www.bititi.sk

Túžite schudnúť?

redukcia váhy bez stresu a hladovania zdravé chudnutie bez jo-jo efektu www.peknapostava.eu

Art Digital - obrazy, predaj.

Je to ako s autom. Nekupujte Trabant ak môžete mať Mercedes! Art Digital. www.artdigital.sk

Kvalitné krmivo pre psov lacno

Široký výber potrieb a krmiva pre psov. Bezkonkurenčné ceny. Doprava zdarma! www.zoofast.sk

Užitočné a často používané skripty

Zaslať odpoveď
AutorSpráva
neXor
Užívateľ
Užívateľ

Založený: 27.06.2009
Príspevky: 75
Bydlisko: Levice, Slovensko

PríspevokZaslal: Št 24.12.09 11:24Odpovedať s citátomNávrat hore

Vygenerovanie náhodného reťazca

Autor: neXor
Poziadavky: PHP5
Popis: Funkcia nahodny_retazec vygeneruje náhodný reťazec, ktorý sa bude skladať z ľubovolného počtu znakov a z ľubovoľého typu znakov

kód:
<?php
/*
* Náhodný reťazec
*
* Generovanie náhodného reťazca
*
* @author   neXor <neXor.sk@gmail.com>
* @version   1.2
* @license   http://opensource.org/licenses/gpl-license.php GNU Public License
*/


function nahodny_retazec ( $pocet, $typ ) {
$vystup = "";
$cisla = array ( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );
$pismena = array ( "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
                 "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
                 "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
                 "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", );
$nezamenitelne = array ( "a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "m", "n",
                 "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
                 "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M",
                 "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
                 "2", "3", "4", "5", "6", "7", "8", "9" );
if ( $typ == "int" ) {
  $nahoda = $cisla;
} elseif ( $typ == "all" ) {
  $nahoda = $cisla;
    foreach ( $pismena as $prvok ) {
      $nahoda[] = $prvok;
    }
} elseif ( $typ == "str" ) {
  $nahoda = $pismena;
} elseif ( $typ == "zam" ) {
  $nahoda = $nezamenitelne;
}
$polia = count ( $nahoda ) - 1;
  for ( $int = 1; $int <= $pocet; $int++ ) {
    $index = mt_rand(0, $polia); //vygenerovať náhodný znak
    $vystup .= $nahoda[$index]; //pripojenie náhodného znaku k premennej $vystup
  }
return $vystup;
}

?>


Príklad použitia
kód:

nahodny_retazec  ( 4, "int" ); //vygeneruje 4 náhodné čísla
nahodny_retazec  ( 4, "all" ); //vygeneruje náhodný reťazec s dĺžkou 4 ľubovolních znakov
nahodny_retazec  ( 4, "str" ); //vygeneruje 4 náhodné písmená
nahodny_retazec  ( 4, "zam" ); //vygeneruje náhodný reťazec s dĺžkou 4 nezameniteľných znakov (boli vynechané 0, 1, o, O, i, I, l)
Zobraziť informácie o autoroviOdoslať súkromnú správuICQZobraziť autorove WWW stránky
path
Užívateľ
Užívateľ

Založený: 23.01.2010
Príspevky: 22
Bydlisko: Nitra

PríspevokZaslal: Po 25.01.10 20:55Odpovedať s citátomNávrat hore

konfiguracna trieda [singleton]
//prispejem aj ja nieco take starsie z mojej dielne
//potrebuje to php 5+
cfg.php
kód:
class cfg
{   
   private static $instance;
   private $vars;
   
   private function __construct()
   {
      $__defined_vars = array_keys(get_defined_vars());

      require('config.php');

      $this->vars = array_diff(get_defined_vars(), $__defined_vars);

      foreach ($this->vars as $var)
      {
         unset($$var);
      }
      
      unset($this->vars['__defined_vars']);
   }
   private function __clone() {}

   public static function getInstance()
   {       
      if(!self::$instance){
         self::$instance = new self();
      }
      return self::$instance;
   }
   
   public static function get($value)
   {
      $obj = cfg::getInstance();
      return $obj->vars[$value];
   }

}


trieda nacita vsetky premenne z konfiguracneho suboru(config.php) pri svojom prvom pouziti, priklad config:
kód:
// Image Cache Settings
$useCache = true;
$cachePath = 'cache';
$cacheSizes = array(array('w' => 170, 'h' => 130), array('w' => 1, 'h' => 1)); 
   
// CP Settings
$version = '4.0b';
$autologoff = -1; //[mins], -1 to infinite


je to singleton takze staci zavolat hocikde v skripte nieco ako
kód:
$version = cfg::get('version');
a mate premennu z konfiguracneho suboru vzdy pristupnu bez toho aby ste sa hrali s globals atd. ... pre lepsi zazitok pouzivat s spl_autoload_register na vacsich projektoch
Zobraziť informácie o autoroviOdoslať súkromnú správu
pizet
Užívateľ
Užívateľ

Založený: 16.08.2009
Príspevky: 186
Bydlisko: Levice

PríspevokZaslal: Ne 16.05.10 21:35Odpovedať s citátomNávrat hore

Odosielanie súborov na server

Autor: pizet
Požiadavky: PHP5
Popis: Jednoduchý skript na odosielanie súborov na server. Konkrétne tento povolí odosielanie obrázkov ".png", ".jpg" alebo ".gif".

upload.php:


kód:
<html>
   <head>
      <title>Upload obrazkov</title>
   </head>
   <body>
        <form enctype="multipart/form-data" action="spracuj.php" method="post">
            <input type="hidden" name="MAX_FILE_SIZE" value="16000" />
            Odoslat tento subor: <input name="obrazok" type="file" /><br />
            <input type="submit" value="Odoslat" />
        </form>
   </body>
</html>


spracuj.php:

kód:
<?php
    /* Konfiguracne nastavenie */
    $max_velkost_obrazku = 50000;
    $subor_povinny = true;
   
    /* Cielovy odresar prenosu */
    $stranka_odoslania = 'upload.php';
    $cielovy_adresar = '/server/www/fileupl/';
   
    $chybova_sprava = false;
    do {
       
        /* existuje prvok so suborom? */
        if ( !isset ( $_FILES['obrazok'] ) ){
            $chybova_sprava = 'Formular bol odoslany neuplny.';
            break;
        } else {
            $obrazok = $_FILES['obrazok'];
        }
       
        /* Overenie vsetkych moznych chyb */
        switch ( $obrazok['error'] ){
           
            case UPLOAD_ERR_INI_SIZE: // veľkosť súboru prekročila limit nastavený v súbore php.ini
                $chybova_sprava = 'Velkost obrazku prekrocila povoleny limit ' .
                    $max_velkost_obrazku . 'bajtov.';
                break 2;
           
            case UPLOAD_ERR_PARTIAL: // počas načítania súboru došlo ku chybe, bola načítaná len časť
                $chybova_sprava = 'Pri odoslani suboru doslo ku chybe, ' .
                    "skuste prosim znovu <a href='{$stranka_odoslania}'></a>.";
                break 2;
               
            case UPLOAD_ERR_NO_FILE: // nepodarilo sa na server odoslať žiadny súbor
                if ( $subor_povinny ){
                    $chybova_sprava = 'Nebol vybraty ziadny subor, ' .
                        "vyberte ho <a href='{$stranka_odoslania}'>tu</a>.";
                    break 2;
                }
                break 2;
               
            case UPLOAD_ERR_FORM_SIZE:
                $chybova_sprava = 'Velkost suboru je podla skryteho pola ' .
                    $_REQUEST[MAX_FILE_SIZE] . ".";
                   
            case UPLOAD_ERR_OK:
                if ( $obrazok['size'] > $max_velkost_obrazku ){
                    $chybova_sprava = 'Obrazok je prilis velky. Nemoze obsahovat viac nez ' .
                        $max_velkost_obrazku . 'bajtov.';
                }
                break 2;
               
            default:
                $chybova_sprava = "Doslo ke neznamej chybe, " .
                    "skuste to znovu <a href='{$stranka_odoslania}'>tu</a>";
        }
       
        /* musime overit ci su obrazky PNG alebo JPEG */
        if ( !in_array ( $obrazok['type'], array ( 'image/jpeg', 'image/pjpeg', 'image/png', 'image/gif' ) ) ){
            $chybova_sprava = "Povolene su iba formaty PNG, JPEG, GIF " .
                "opakujte pokus <a href='{$stranka_odoslania}'>tu</a>.";
            break;
        }
    } while ( 0 );
   
    /* Ak nedoslo ku chybe tak presunieme subor do prijatych suborov */
    if ( !$chybova_sprava ){
        if ( !@move_uploaded_file( $obrazok['tmp_name'], $cielovy_adresar . $obrazok['name'] ) ){
            $chybova_sprava = "Chyba pri presunuti suboru do cieloveho adresara," .
                "opakujte pokus <a href='{$stranka_odoslania}'>tu</a>.";
        }
    }
?>

<html>
<head><title>spracuj.php</title></head>
<body>
    <?php
        if ( $chybova_sprava ) {
            echo $chybova_sprava;
        } else {
    ?>
    <img src="fileupl/<?php echo $obrazok['name'] ?>" />
    <?php
    }
    ?>
</body>
</html>

_________________
"Najlepším spôsobom, ako sa na budúcnosť pripraviť, je vymyslieť si ju." - John Sculley
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQ
JanoF
Správca fóra
Správca fóra

Založený: 01.05.2005
Príspevky: 8665
Bydlisko: Bratislava
Vek: 26

PríspevokZaslal: Pi 26.08.11 12:53Odpovedať s citátomNávrat hore

Funkcia na generovanie pekných url

kód:
setlocale(LC_ALL, 'sk_SK.UTF8');

function rewrite($string) {
  $string = preg_replace('~[^\\pL0-9_]+~u', '-', $string);
  $string = trim($string, "-");
  $string = iconv("UTF-8", "ASCII//TRANSLIT", $string);
  $string = preg_replace('~[^-a-z0-9_]+~i', '', $string);
  return strtolower($string);
}


Príklad:

kód:
$text = 'Názov članku';
rewrite($text);


Výstup:
kód:
nazov-clanku

_________________
Skrinka: Nexus Morpho & Enermax UCTB12P | Zdroj: Enermax EMG800AWT 800W | Základná doska: Asus Rampage III Gene | Procesor: Intel Core i7 990X Extreme Edition 3.46 GHz & Scythe Susanoo SCSO-1000 | Pamäť: Kingston HyperX XMP 24 GB DDR3 1600 MHz | Grafická karta: Asus GeForce GT 440 1 GB DDR3 & Thermalright HR-03 | Pevný disk: Intel SSD 510 Series 250GB | Optická mechanika: Plextor PX-820SA | Čítačka kariet: Akasa AK-ICR-11 | Klávesnica: Logitech G19 | Myš: Logitech G9x & Razer Kabuto | Monitor: 24" LCD Eizo FlexScan S2431WE | Reproduktory: Logitech Z-2300 | Operačný systém: Microsoft Windows 7 & FreeBSD 9 | Spotreba: Idle - 200W / Burn - 400W | Mobil: Nokia N9 64GB
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailSkypeTwitterZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF