Tråden för användbara funktioner

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6, 7
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
KarlKaluns



Medlem i: 4318 dagar
Från: Karlshamn
Status: Offline



#618813
Inlägg Skrivet: 2009-01-11 11:13      Ämne: Citera

narcisha skrev:
KarlKaluns skrev:
En funktion som pingar en sida eller en ip-adress. Kan bl.a användas för att pinga Counter-Strike servrar.
Skriver ut pingen i ms


Nu orkar jag inte testa, men hur lång tid tar det om servern inte är uppe och pingen misslyckas?


-w 90 = 90 ms timeout
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
KarlKaluns



Medlem i: 4318 dagar
Från: Karlshamn
Status: Offline



#621152
Inlägg Skrivet: 2009-01-24 11:00      Ämne: Citera

Gjorde en ny pingfunktion eftersom mitt webbhotell inte tillåter exec():

PHP:
1:
<?php
2:
   function ping($host$port 80$timeout 5)
3:
   {
4:
      $host = (string) $host;
5:
      $port = (int) $port;
6:
      $timeout = (float) $timeout;
7:
      function timer()
8:
      {
9:
         $exp explode(" "microtime());
10:
         return $exp[0] + $exp[1];
11:
      }
12:
      $start timer();
13:
      $fsock = @fsockopen($host$port$errno$errstr$timeout);
14:
      if (!$fsock)
15:
      {
16:
         return false;
17:
      }
18:
      else
19:
      {
20:
         $end timer();
21:
         $ping $end $start;
22:
         return round($ping 1000);
23:
      }
24:
   }
25:
?>
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Tarre



Medlem i: 5105 dagar

Status: Offline



#621654
Inlägg Skrivet: 2009-01-26 19:32      Ämne: Citera

KarlKaluns, ett riktigt bra skript där! tummen upp för den Smile.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Mikael Brodin



Medlem i: 5353 dagar
Från: Halmstad
Status: Offline



#642944
Inlägg Skrivet: 2009-06-14 16:51      Ämne: Ny metod för att validera webbadress! Citera

Tja!

Skrivit ny kod för att validera en korrekt adress. Vet någon om det kanske är en nackdel att köra på detta viset?

PHP:
1:
    function is_validURL($str$x=false,$n=0){
2:
 
3:
   $part = @parse_url($str);
4:
 
5:
      if($part === FALSE) return false;
6:
 
7:
   $schemes = array('ftp','ftps','http','https');
8:
 
9:
      if(!isset($part['scheme']) || !isset($schemes[$part['scheme']])) $part['scheme'] = 'http';
10:
 
11:
      if(!isset($part['host']) && isset($part['path'])){
12:
 
13:
         if($n == 2) return false;
14:
 
15:
         $part['path'] = $part['scheme'] . '://' $part['path'];
16:
 
17:
      return is_validURL($part['path'], $x, ($n 1));
18:
      }
19:
 
20:
      if($part['scheme'] == 'ftp' || $part['scheme'] == 'ftps'){
21:
 
22:
         if(!isset($part['host'])) return false;
23:
 
24:
         if(!is_validURL($part['host'], $x, ($n 1))) return false;
25:
 
26:
      return true;
27:
      }
28:
 
29:
      $exp explode('.'$part['host']);
30:
      $len sizeof($exp);
31:
 
32:
      $min = ($exp[0] == 'www' 2);
33:
 
34:
      if($len $min || empty($exp[$len 1]) || empty($exp[0]) || strlen($exp[$len 1]) < 2) return false;
35:
 
36:
   return ($x true $part);
37:
   


Tips för bättre prestanda får gärna ges! Smile

Exempel:
PHP:
1:
    $ary = array(
2:
 
3:
   'http://www.phpportalen.net'// Giltig
4:
   'http://phpportalen.net'// Giltig
5:
   'phpportalen.net'// Giltig
6:
   'http://phpportalen'// Ogiltig
7:
   'phpportalen'// Ogiltig
8:
   '.net'// Ogiltig
9:
 
10:
   'ftp://www.phpportalen.net'// Giltig
11:
   'ftp://phpportalen.net'// Giltig
12:
 
13:
   'ftp://user:pass@phpportalen:80'// Ogiltig
14:
   'ftp://user:pass@phpportalen.net:80' // Giltig
15:
 
16:
   );
17:
 
18:
   foreach($ary as $ar){
19:
 
20:
   echo '<p>' $ar ' = ' . (is_validURL($ar) ? 'Giltig' 'Ogiltig') . '</p>';
21:
 
22:
   


Senast ändrad av Mikael Brodin den 2009-06-15 15:20, ändrad totalt 1 gång
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
potatis_invalido



Medlem i: 3720 dagar

Status: Offline



#642974
Inlägg Skrivet: 2009-06-14 17:39      Ämne: Citera

JavaScript

KOD:
1:
function milliTime() { // Returnerar antalet millisekunder sedan 1970-01-01
2:
   return (new Date()).getTime();
3:
}

KOD:
1:
function equal() { // Returnerar true om alla argument är lika
2:
   var result = true;
3:
   for(var i = 1; result && i < arguments.length; ++i) {
4:
      result = (arguments[i] == arguments[0]);
5:
   }
6:
   return result;
7:
}
8:
 
9:
// Användningsexempel:
10:
var x = "abc", y = "abc";
11:
equal("abc", x, y); // == true
12:
 
13:
var z = 123;
14:
equal(z, 45, z, z, z); // == false

KOD:
1:
function removeAllChildren(e) { // Tar bort ett elements alla barn
2:
   var a;
3:
   while((a = e.firstChild)) {
4:
      removeAllChildren(a); e.removeChild(a);
5:
   }
6:
}

KOD:
1:
function removeFavicon() { // Tar bort favicon
2:
   var links = document.getElementsByTagName("link"), result = false;
3:
   for(var i = 0; i < links.length; ++i) {
4:
      if((" " + (links[i].rel) + " ").indexOf(" icon ") != -1) {
5:
         links[i].parentNode.removeChild(links[i]);
6:
         result = true;
7:
      }
8:
   }
9:
   return result;
10:
}
11:
function changeFavicon(src, type) { // Ändrar favicon
12:
   removeFavicon();
13:
   var link = document.createElement("link");
14:
   link.type = type;
15:
   link.rel = "icon";
16:
   link.href = src;
17:
   document.getElementsByTagName("head")[0].appendChild(link);
18:
}

KOD:
1:
function rand(min, max) { // Ungefär som PHPs rand
2:
   return min + Math.floor(Math.random() * (1 + max - min));
3:
}

Edit: Jag städade upp koden lite granna.

Senast ändrad av potatis_invalido den 2010-08-06 16:53, ändrad totalt 6 gånger
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
potatis_invalido



Medlem i: 3720 dagar

Status: Offline



#685408
Inlägg Skrivet: 2010-08-06 16:39      Ämne: Citera

PHP
En funktion som genererar en sträng med X antal slumpade siffror:
PHP:
1:
<?php
2:
function randomDigits($n) {
3:
   $n = (int) $n;
4:
   $result "";
5:
   if($n 0) {
6:
      static $randNumDigitsDefault null$randMaxDefault;
7:
      if($randNumDigitsDefault === null) {
8:
         $randNumDigitsDefault floor(log10(mt_getrandmax()));
9:
         $randMaxDefault pow(10$randNumDigitsDefault) - 1;
10:
      }
11:
      $randNumDigits $randNumDigitsDefault;
12:
      $randMax $randMaxDefault;
13:
      $numDigits 0;
14:
      do {
15:
         $digitsRemaining $n $numDigits;
16:
         if($randNumDigits $digitsRemaining) {
17:
            $randNumDigits $digitsRemaining;
18:
            $randMax pow(10$randNumDigits) - 1;
19:
         }
20:
         $result .= str_pad(mt_rand(0$randMax), $randNumDigits"0"STR_PAD_LEFT);
21:
         $numDigits += $randNumDigits;
22:
      } while($numDigits $n);
23:
   }
24:
   return $result;
25:
}
26:
 
27:
// Användningsexempel:
28:
echo randomDigits(32); // Skriver ut 32 slumpade siffror
29:
?>
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6, 7
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic