[ Príspevkov: 37 ] 1, 2
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.06.09
Prihlásený: 16.06.15
Príspevky: 154
Témy: 19 | 19
Bydlisko: Levice, Slo...

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)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.01.10
Prihlásený: 21.01.11
Príspevky: 22
Témy: 5 | 5
Bydlisko: Nitra
NapísalOffline : 25.01.2010 20:55 | Užitočné a často používané skripty

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 :P


Offline

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

Registrovaný: 16.08.09
Prihlásený: 07.03.14
Príspevky: 186
Témy: 16 | 16
Bydlisko: Levice

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
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Užitočné a často používané skripty

Registrovaný: 01.05.05
Príspevky: 12424
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32

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


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
Offline

Správca fóra
Správca fóra
Užitočné a často používané skripty

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
Napísal autor témyOffline : 19.12.2012 15:14 | Užitočné a často používané skripty

Vyber prvych x slov z retazca

Popis:
Citácia:
string wordlimit ( string $str, int $limit [, string $delim = '\s' ] )

Funkcia vracia z retazca $str prvych $limit slov. Oddelovac slov je mozne menit v parametri $delim (regexp).

Kód:
<?php
function wordlimit($str, $limit, $delim = '\s')
{
   if($limit > 0)
   {
      $words = preg_split("/([".$delim."]+)/", $str, ($limit * 2) + 1, PREG_SPLIT_DELIM_CAPTURE);
      return implode('', array_slice($words, 0, ($limit * 2) - 1));
   }
   
   return FALSE;
}
?>

Priklad pouzitia:

Kód:
$str = "Lorem ipsum dolor sit amet consectetuer vitae semper montes ut elit.";
echo wordlimit($str, 5); //vypise: Lorem ipsum dolor sit amet


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Správca fóra
Správca fóra
Užitočné a často používané skripty

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
Napísal autor témyOffline : 29.12.2012 20:13 | Užitočné a často používané skripty

Kontrola minimalneho poctu pismen, cislic a specialnych znakov v retazci

Autor: stenley
Popis:
Citácia:
bool strcheck ( string $str, array $chars )

Pomocou tejto funkcie je mozne zistit, ci sa v retazci $str nachadza minimalne zadany pocet urcitych znakov (velke pismena, male pismena, cislice, specialne znaky). Pozadovany minimalny pocet sa uvadza ako prvok pola $chars, ktoreho index moze nadobudnut jednu z hodnot "alphal" (male pismena, aj s diakritikou), "alphau" (velke pismena, aj s diakritikou), "number" (cislice) alebo "special" (specialne znaky). Funkcia pracuje s UTF-8. Ak retazec $str obsahuje zadany minimalny rozsah znakov, funkcia vracia TRUE, inak FALSE.

Kód:
<?php
/**
 * strcheck()
 *
 * Kontrola minimalneho poctu pismen, cislic a specialnych znakov v retazci
 *
 * @author   stenley <stenley@webdev.sk>
 * @version   1.1
 */

function strcheck($str, $chars)
{
    //ascii
    $chtype = array(
      'alphal'   => range(97, 122), //a-z
      'alphau'   => range(65, 90), //A-Z
      'number'   => range(48, 57), //0-9
      'special'   => array_merge(range(33, 47), range(58, 64), range(91, 96), range(123, 126)), //!,@,[,...
   );

   //ak nefunguje spravne odstranenie diakritiky, staci pouzit funkciu odstranDiakritiku() z tejto temy
   setlocale(LC_CTYPE, "sk_SK.utf-8");
   $str = iconv("utf-8", "us-ascii//TRANSLIT", $str);

   $chcount = count_chars($str, 1);

   foreach($chcount as $ord => $sum)
   {
      foreach($chars as $type => $count)
      {
         if(isset($chtype[$type]) && in_array($ord, $chtype[$type]))
         {
            $chars[$type] -= $sum;
            
            if($chars[$type] <= 0) unset($chars[$type]);
            if(array_sum($chars) == 0) return TRUE;
            
            break;
         }
      }
   }

   return (array_sum($chars) == 0) ? TRUE : FALSE;
}
?>

Priklad pouzitia:

Kód:
$str = "c8bŽ32q";

//minimalne 1 male pismeno, 1 velke pismeno a 3 cislice
strcheck($str, array('alphal' => 1, 'alphau' => 1, 'number' => 3)); //TRUE

//minimalne 2 cislice
strcheck($str, array('number' => 2)); //TRUE

//minimalne 1 male pismeno, 2 velke pismena a 1 cislica
strcheck($str, array('alphal' => 1, 'alphau' => 2, 'number' => 1)); //FALSE

//minimalne 5 malych pismen
strcheck($str, array('alphal' => 5)); //FALSE


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

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

Registrovaný: 29.09.07
Prihlásený: 10.12.17
Príspevky: 826
Témy: 16 | 16
Bydlisko: Nové Mesto ...
Vek: 38

sedlák píše:
Zistenie veľkosti priečinka

Autor: neznámy (nájdené na nete)
Popis Pomocou tejto funkcie zistíte veľkosť daného priečinka



Ja zasa ponúkam Zistenie veľkosti všetkého.

Kód:
<?php

$dirname = ".";
$dir = opendir($dirname);

while(false != ($file = readdir($dir)))
{
if(($file != ".") and ($file != "..") and ($file != "index.php"))
{
  $list[] = $file;
}
}

sort($list);

foreach($list as $item) {
echo $item . "___" . filesize("$item") . "<br>";             <!-- Toto všetko zobrazí. -->
$total=$total + filesize("$item");                           <!-- Toto všetko spočíta. -->
}

echo  $total;                                                <!-- Tu výsledok zobrazi. -->

?>


_________________
New - HP ProBook 450 G4 | OS: Windows 10 Pro | CPU: Intel Core i3-7100U (2,40GHz) | RAM: 8 GB DDR4 | SSD: 128 GB + HDD: 1 TB
Old - HP Compaq nx 7400 rok výroby 2006 OS: Windows XP Home Edition. CPU: Intel(R) Celeron(R) M CPU 420 @ 1.6 GHz | „Tuning“ RAM: 2GB | HDD: 150 GB
Hovor vždy pravdu aj keby ta to malo bolieť. Ale časom sa ju naučíš počúvať, aj keď tY do očí klamú.
Chemická zlúčenina vodíka s kyslíkom, ktorá produkuje minimálnu úroveň hlasitosti,
spôsobuje eróziu vrstvy hornín, uložených pozdĺž jej trajektórie. (Ticha voda brehy myje.)
 [ Príspevkov: 37 ] 1, 2


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



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Tema pre casto pouzivane skripty

[ Choď na stránku:Choď na stránku: 1 ... 6, 7, 8 ]

v PHP, ASP

223

11331

08.01.2013 9:18

dulius

V tomto fóre nie sú ďalšie neprečítané témy.

FAQ - často kladené otázky, užitočné rady..

v Operačné systémy Microsoft

7

2684

06.07.2017 10:28

JanoF

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

FAQ - často kladené otázky, užitočné rady a porovnania

v Notebooky a netbooky

0

4793

12.05.2010 14:36

Tomas1

V tomto fóre nie sú ďalšie neprečítané témy.

hack- používane názvy

v PHP, ASP

16

855

03.05.2009 18:32

lolko

V tomto fóre nie sú ďalšie neprečítané témy.

Používané pluginy v Firefoxu?

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Sieťové a internetové programy

33

2947

31.07.2007 16:30

KaktusBR

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Nejake skripty...

v Redakčné systémy

0

1704

07.09.2005 2:42

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

CGI-skripty

v HTML, XHTML, XML, CSS

10

260

03.07.2010 15:05

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Php skripty

v PHP, ASP

10

4503

28.09.2006 11:57

mokus

V tomto fóre nie sú ďalšie neprečítané témy.

I/P: CPU, GPU, RAMky, ZDROJe, MB - používané

v Predám

6

410

13.12.2017 20:54

Spider4ever

V tomto fóre nie sú ďalšie neprečítané témy.

Užitočne odkazy

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Webdesign

36

11246

06.04.2017 19:41

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Užitočné odkazy

v Webhosting a servery

10

2654

06.03.2017 23:39

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

PHP skripty bez ?>

v PHP, ASP

5

161

10.06.2013 22:59

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

skripty serverove klientske atd

v PHP, ASP

6

312

17.10.2008 14:21

euthanan

V tomto fóre nie sú ďalšie neprečítané témy.

externé skripty miesto užívateľských

v JavaScript, VBScript, Ajax

2

334

08.06.2009 20:14

jarrro

V tomto fóre nie sú ďalšie neprečítané témy.

uzitocne api funkcie

v Assembler, C, C++, Pascal, Java

4

304

28.02.2010 14:22

euthanan

V tomto fóre nie sú ďalšie neprečítané témy.

Neviem spustat PHP skripty v PC

v PHP, ASP

1

313

26.02.2011 16:20

Ďuri



© 2005 - 2017 PCforum, edited by JanoF