Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. 4upakabr0

    4upakabr0 Member

    Joined:
    14 May 2008
    Messages:
    124
    Likes Received:
    23
    Reputations:
    0
    Учусь еще) Буду учитывать. Конечно хотелось бы пояснений, почему второй вариант будет скорее.
     
  2. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Вообще-то, это тоже не очень хороший код ;)
    Не говоря о том, что читать такой словарь с диска наверняка медленнее, чем генерировать по одному паролю в реальном времени.
     
    1 person likes this.
  3. Sajeys

    Sajeys Banned

    Joined:
    24 Aug 2010
    Messages:
    220
    Likes Received:
    37
    Reputations:
    5
    Скрипт отражения изображения

    reflection.js
    Code:
    document.getElementsByClassName = function(className) {
    	var children = document.getElementsByTagName('*') || document.all;
    	var elements = new Array();
      
    	for (var i = 0; i < children.length; i++) {
    		var child = children[i];
    		var classNames = child.className.split(' ');
    		for (var j = 0; j < classNames.length; j++) {
    			if (classNames[j] == className) {
    				elements.push(child);
    				break;
    			}
    		}
    	}
    	return elements;
    }
    
    var Reflection = {
    	defaultHeight : 0.5,
    	defaultOpacity: 0.5,
    	
    	add: function(image, options) {
    		Reflection.remove(image);
    		
    		doptions = { "height" : Reflection.defaultHeight, "opacity" : Reflection.defaultOpacity }
    		if (options) {
    			for (var i in doptions) {
    				if (!options[i]) {
    					options[i] = doptions[i];
    				}
    			}
    		} else {
    			options = doptions;
    		}
    	
    		try {
    			var d = document.createElement('div');
    			var p = image;
    			
    			var classes = p.className.split(' ');
    			var newClasses = '';
    			for (j=0;j<classes.length;j++) {
    				if (classes[j] != "reflect") {
    					if (newClasses) {
    						newClasses += ' '
    					}
    					
    					newClasses += classes[j];
    				}
    			}
    
    			var reflectionHeight = Math.floor(p.height*options['height']);
    			var divHeight = Math.floor(p.height*(1+options['height']));
    			
    			var reflectionWidth = p.width;
    			
    			if (document.all && !window.opera) {
    				/* Fix hyperlinks */
                    if(p.parentElement.tagName == 'A') {
    	                var d = document.createElement('a');
    	                d.href = p.parentElement.href;
                    }  
                        
    				/* Copy original image's classes & styles to div */
    				d.className = newClasses;
    				p.className = 'reflected';
    				
    				d.style.cssText = p.style.cssText;
    				p.style.cssText = 'vertical-align: bottom';
    			
    				var reflection = document.createElement('img');
    				reflection.src = p.src;
    				reflection.style.width = reflectionWidth+'px';
    				
    				reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
    				reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';
    				
    				d.style.width = reflectionWidth+'px';
    				d.style.height = divHeight+'px';
    				p.parentNode.replaceChild(d, p);
    				
    				d.appendChild(p);
    				d.appendChild(reflection);
    			} else {
    				var canvas = document.createElement('canvas');
    				if (canvas.getContext) {
    					/* Copy original image's classes & styles to div */
    					d.className = newClasses;
    					p.className = 'reflected';
    					
    					d.style.cssText = p.style.cssText;
    					p.style.cssText = 'vertical-align: bottom';
    			
    					var context = canvas.getContext("2d");
    				
    					canvas.style.height = reflectionHeight+'px';
    					canvas.style.width = reflectionWidth+'px';
    					canvas.height = reflectionHeight;
    					canvas.width = reflectionWidth;
    					
    					d.style.width = reflectionWidth+'px';
    					d.style.height = divHeight+'px';
    					p.parentNode.replaceChild(d, p);
    					
    					d.appendChild(p);
    					d.appendChild(canvas);
    					
    					context.save();
    					
    					context.translate(0,image.height-1);
    					context.scale(1,-1);
    					
    					context.drawImage(image, 0, 0, reflectionWidth, image.height);
    	
    					context.restore();
    					
    					context.globalCompositeOperation = "destination-out";
    					var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);
    					
    					gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
    					gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");
    		
    					context.fillStyle = gradient;
    					if (navigator.appVersion.indexOf('WebKit') != -1) {
    						context.fill();
    					} else {
    						context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);
    					}
    				}
    			}
    		} catch (e) {
    	    }
    	},
    	
    	remove : function(image) {
    		if (image.className == "reflected") {
    			image.className = image.parentNode.className;
    			image.parentNode.parentNode.replaceChild(image, image.parentNode);
    		}
    	}
    }
    
    function addReflections() {
    	var rimages = document.getElementsByClassName('reflect');
    	for (i=0;i<rimages.length;i++) {
    		var rheight = null;
    		var ropacity = null;
    		
    		var classes = rimages[i].className.split(' ');
    		for (j=0;j<classes.length;j++) {
    			if (classes[j].indexOf("rheight") == 0) {
    				var rheight = classes[j].substring(7)/100;
    			} else if (classes[j].indexOf("ropacity") == 0) {
    				var ropacity = classes[j].substring(8)/100;
    			}
    		}
    		
    		Reflection.add(rimages[i], { height: rheight, opacity : ropacity});
    	}
    }
    
    var previousOnload = window.onload;
    window.onload = function () { if(previousOnload) previousOnload(); addReflections(); }
    
    Незабываем потом его подключить))

    <script type="text/javascript" src="reflection.js"></script>


    пример использования:
    <img src="example.jpg" alt="" class="reflect" />
     
  4. AttackPro

    AttackPro New Member

    Joined:
    24 Jun 2010
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Чекер hroxy
    ----------------------------------
    PHP:
    <?php
    error_reporting
    (0);

    header('Content-type: text/plain; charset=utf-8');

    $ch curl_init('http://hideme.ru/proxy-list/http');

    curl_setopt($chCURLOPT_TIMEOUT10);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_HTTPHEADER, array('Accept: text/html, application/xml, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;''Accept-Language: ru, en, *;''Accept-Charset: iso-8859-1, utf-8, utf-16, *;''Accept-Encoding: identity;''Connection: close'));
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)');
    curl_setopt($chCURLOPT_REFERER'http://hideme.ru/');

    $result curl_exec($ch) or die('Неудалось собрать прокси!');

    curl_close($ch);

    preg_match_all('~[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{2,6}~'$result$proxy) or die('Неудалось собрать прокси!');

    file_put_contents('data/proxy.dat'implode("\r\n"array_unique($proxy[0]))) or die('Неудалось сохранить прокси!');

    die(
    'Сбор прокси закончен!');

    ?>
     
  5. Alexander89

    Alexander89 Member

    Joined:
    30 Nov 2009
    Messages:
    33
    Likes Received:
    8
    Reputations:
    0
    Тот кто отправлял смс через http://www.mts.com.ua/ukr/sendsms.php знает как парит их назойливый баннер.
    Меня это ...... и я решил убрать его.

    PHP:
    function closeBanner() { 
    if(!
    document.getElementById('smsAdvert')){ return false; } 
    document.getElementById('smsAdvert').style.display 'none'
    document.getElementById('pageContent').style.display 'block'
    document.getElementById('pageContent').style.visibility 'visible'
    clearInterval(i); 

    var 
    setInterval(closeBanner100);  


    инструкция к применению
    сохраняем выделенное жирным в файл с расширение js например mtscomua.js
    открываем через оперу http://www.mts.com.ua/ukr/sendsms.php
    F12 -> настройки для сайта -> Скрипты -> выбираем путь к папке со скриптом
    Обновляем страницу и радуемся
     
  6. Топе

    Топе Banned

    Joined:
    2 Oct 2010
    Messages:
    73
    Likes Received:
    9
    Reputations:
    2
    Скрипт для кодирования урлов (by me)
    PHP:
    $url 'www.freehost.com.ua';//исходные данные
    $ip  gethostbyname($url);//узнаем ip 
    $ch  explode('.',$ip);//разделяем ip на 4 части
    foreach($ch as $value)$v_8[] = '0'.base_convert($value108);//каждуч из частей конвертируем в 8-ю систему счисления
    $url '122.11.21.167@'.join($v_8,'.');//слева от полученого 8-го ip дописываем левые данные, которые обозначают логин
    $url urlencode($url);//кодируем в формат url (знак @ превратится в %40)
    $url.= '?%509&404_1/index.php';//и добавляем мусора после знака "?"
    echo $url;
    пример:
    было www.freehost.com.ua
    стало 122.11.21.167%400302.00.0310.0312?%509&404_1/index.php
     
  7. v00d

    v00d Member

    Joined:
    11 Oct 2010
    Messages:
    34
    Likes Received:
    10
    Reputations:
    7
    Скрипт для сбора мейл адресов ( bing.com )
    -----------------------------------------------------
    PHP:

    #!/usr/bin/php
    <?php
    echo <<< _

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ### BES
    ### (c)oded by v00d
    ### Usage:   php bes.php {from page} {to page} {file}
    ### Example: php bes.php 1 5 mails.txt
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    \n
    _;

    if(
    count($argv)<4) die;

    echo 
    "[+] Start\n";
    ob_get_clean();

    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    define("QUERY","mysql+dump+filetype:txt");
    $start_time time();
    $start      $argv[1];
    $end        $argv[2];
    $out        $argv[3];
    $emails     = array();
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    set_time_limit(0);
    ob_start();
    ob_implicit_flush(true);

    function 
    load($url){
        
    $ch curl_init($url);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_COOKIE"SRCHHPGUSR=NEWWND=0&ADLT=DEMOTE&NRSLT=50&NRSPH=2&SRCHLANG=&AS=1");
        
    $res curl_exec($ch);
        
    curl_close($ch);
        return 
    $res;
    }

    for(
    $i=(($start-1)*50)+1;$i<=($end*50)+1;$i=$i+51){
        
    $content load("http://www.bing.com/search?q=".QUERY."&go=&qs=n&sk=&sc=5-23&first=$i&FORM=PERE1");
        
    preg_match_all("/<cite>(.*)<\/cite>/isU",$content,$m);
        foreach(
    $m[1] as $k=>$v){
            
    $link strip_tags($v);
            echo 
    "[~] $link\n";
            
    ob_get_clean();
            
    $content load($link);
            
    preg_match_all('|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is'$content$m);
            if(
    is_array($m) && is_array($m[0]) && !empty($m[0][0])){
                echo 
    ">>> [ ".count($m[0])." ] \n";
                
    ob_get_clean();
                
    $emails array_unique(array_merge($emails,$m[0]));
            }
        }
    }

    file_put_contents($out,join("\n"$emails));

    echo 
    "[+] Done\n";
    echo 
    "[+] Total: ".count($emails)."\n";
    echo 
    "[+] Time: ".date("i:s",time()-$start_time)."\n";
    ob_get_clean();
    ?>
    -----------------------------------
    зы: поэкспериментируйте с запросом
     
  8. Bramin

    Bramin Banned

    Joined:
    15 May 2009
    Messages:
    232
    Likes Received:
    89
    Reputations:
    27
    есть ли у кого-нибудь скрипт для просмотра чужих фотографий на мой мир мэйла если публичный доступ закрыт? буду бесконечно благодарен.
     
  9. MaTpOc

    MaTpOc Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25

    запустил на денвере и вот что выдало

    #!/usr/bin/php ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ### BES ### (c)oded by v00d ### Usage: php bes.php {from page} {to page} {file} ### Example: php bes.php 1 5 mails.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    и все )
     
  10. dezmond2000

    dezmond2000 New Member

    Joined:
    16 May 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    напишите реггер народ.ру с поддержкой antigate.
    выше указанный скрипт у меня не работает(((
     
    #1030 dezmond2000, 3 Nov 2010
    Last edited: 3 Nov 2010
  11. Alexander89

    Alexander89 Member

    Joined:
    30 Nov 2009
    Messages:
    33
    Likes Received:
    8
    Reputations:
    0
    Матогенератор на PHP
    PHP:
    <?php
    error_reporting
    (E_ALL); 
    ini_set("display_errors"1); 


    function 
    matogenerator($etaz=0){
        
    //двухэтажный
        
    $a[2][] = array('Залупан','Туебень','Пиздаеб','Хуй','Дебил','Пиздолиз','Кабан','Дрочун','Писюн','Долбоеб','Уебан','Рахит','Хуйлан','Козадой','Труебень','Лох','Стос','Хрон','Пиздогрыз','Припиздок','Гном','Самотык','Похуист','Уебок','Козел','Срака','Апездал','Пидор','Гондон','Лабозоид','Даун','Чухан','Хуесос','Сракализ','Гнойник','Дистрофан');
        
    $a[2][] = array(" гнойный"," конченый"," задроченый"," ебонутый"," вонючий"," пиздонутый"," дебильный"," обдристаный"," хренов"," блядский"," дерьмовый"," ебнутый"," штопаный"," обкуреный"," трахнутый"," ломаный"," трипиздоящурный"," самотычный"," обломаный"," побитый");

        
    //трехэтажный
        
    $a[3][] = array('Пиздо''Хуе''Спермо''Конче''Хроно''Стосо''Гномо''Само''Уебо''Козо''Чухо''Ломо''Хрено''Хуйлано''Дистро');
        
    $a[3][] = array('грызо''уебано''клиторо''гондо''лабо''завро''пидо''гное''бульбо''нюхо''тыко''гное''яйце''воло''глисто');
        
    $a[3][] = array('чух''зоид''чел''рыл''дрыч''сос''тык''ед''смок''проб''фан');

        
    //четырехэтажный
        
    $a[4][] = array('Залупан''Туебень''Пиздаеб''Хуй''Дебил''Пиздолиз''Кабан''Дрочун''Писюн''Долбоеб''Уебан''Рахит''Хуйлан''Козадой''Труебень''Лох''Стос''Хрон''Пиздогрыз''Припиздок''Гном''Самотык''Похуист''Уебок''Козел''Гнойник''Апездал''Пидор''Гондон''Лабозоид''Даун''Чухан''Хуесос''Сракализ''Дистрофан');
        
    $a[4][] = array(" в ногу"," в глаз"," в глотку"," мимо дырки"," в ухо"," по спине"," между пальцев"," в голову"," в жопу"," в залупу"," в ***");
        
    $a[4][] = array(" шваброй"," утюгом"," колком"," кирпичом"," бутылкой"," кончой"," клитором"," шилом"," ногой"," членом"," електрикой"," корчом"," рукою"," осколком");
        
    $a[4][] = array(" ебаный"," выебаный"," задроченый"," засраный"," затыканый"," помазаный"," укушеный"," забитый"," возбужденный"," чесаный"," ломаный"," отьебашеный"," отхуяреный");

        if(
    $etaz==|| !is_array($a[$etaz])){ $etaz rand(2,4); }
        
    $str '';
        foreach(
    $a[$etaz] as $arr){
            
    $max     count($arr)-1;
            
    $n        rand(0,$max);
            
    $str     .= $arr[$n];

        }
        return 
    $str;
        
        
    }

    echo 
    matogenerator();
    ?>
     

    Там наверняка прийдеться еще и прокси подвязывать
     
    #1031 Alexander89, 21 Nov 2010
    Last edited: 21 Nov 2010
    zakidorex and Fepsis like this.
  12. ImLucky

    ImLucky New Member

    Joined:
    26 Sep 2010
    Messages:
    73
    Likes Received:
    3
    Reputations:
    0
    Может кто рабочий скрипт скинуть ? Этот создаёт пустые файлы, юзаю под phpBB
     
  13. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,199
    Reputations:
    252
    может ты скажешь версию форума или дашь ссылочку?
     
  14. ImLucky

    ImLucky New Member

    Joined:
    26 Sep 2010
    Messages:
    73
    Likes Received:
    3
    Reputations:
    0
    3.0.8, или 3.0.7 , сейчас уже не помню, но это не столь важно по моему, так как эти скрипты не работают только из-за того, что в них нету авторизации. Неавторизированным юзерам нельзя смотреть профили и мемберлист.
    http://forum.strongholdkingdoms.com/
     
  15. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    795
    Likes Received:
    140
    Reputations:
    73
    Скачивание видео "вконтакте"
    Может кому-то будет полезен, вообщем заходим на страницу с видео, копируем код и вставляем в адресную строку
    PHP:
    javascript:onDomReady(function() { 
    var 
    parama=document.getElementsByName('flashvars')[0].value
    var 
    video=new Array(); 
    var 
    links = new Array(); 
    var 
    hd_arr = new Array('240','360','480','720'); 
    var 
    params=parama.split('&'); 
    for (var 
    i=0;i<params.lengthi++){ 
    var 
    key=params[i].split('='); 
    video[key[0]]=key[1]; 

    if(
    video['host'].indexOf('http://') == -1video['host'] = 'http://'+video['host']; 
    if(
    video['no_flv']==0){ 
        if(
    video['uid']==0){ 
            
    links['default'] = video['host']+'/assets/videos/'+video['vtag']+video['vkid']+'.vk.flv'
        }else {
            
    links['default'] = video['host']+'/u'+video['uid']+'/video/'+video['vtag']+'.flv';
        }
    }else {
         
    links['default'] = video['host']+'/u'+video['uid']+'/video/'+video['vtag']+'.240.mp4'
    }
    if(
    video['hd']!=0){ 
    var 
    hd_num = +video['hd']; 
    for(var 
    z=0;z<hd_num+1;z++) 
        {     
            
    links[hd_arr[z]] = video['host']+'/u'+video['uid']+'/video/'+video['vtag']+'.'+hd_arr[z]+'.mp4'
        } 

    var 
    dl_str 'Скачать это видео: '
    if(
    links.length != 0) { 
    for(var 
    y=0;links.length;y++) { 
        for(
    y in links) { 
            
    dl_str += '<a href='+links[y]+'>'+y+'</a> '
        } 

    }else { 
        
    dl_str += '<a href='+links['default']+'>Скачать</a> ' 

    document.getElementById('videocaption').innerHTML '<h3>'+dl_str+'</h3>'; }); 
    /*author: LStr1ke */ 
    Под плеером появятся ссылки на скачивание видео в доступном качестве.
    [​IMG]
    Проверял на FireFox и Opera. В Ie не работает.

    Update: Исправил баги
     
    #1035 LStr1ke, 27 Nov 2010
    Last edited: 9 Jan 2011
    3 people like this.
  16. dezmond2000

    dezmond2000 New Member

    Joined:
    16 May 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    ну это само собой
     
  17. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    вобщем понадобилась мне функция для разбивки файлов на ЗАДАННОЕ количество частей, то ли из меня поисковик херовый- толи никому этого ненадо (есть там разбивка по байтам но на заданное количество- например на 100 частей- ненашол), пришлось извращаться самому- писать функцию, конечно можно былобы сначала открыть файлб пересчитать количество элементов а вторым циклом уже делить, я посчитал что это долго :)
    PHP:
    <?php 
    $num
    ='100';// количество частей на сколько разбить файл
    $f_input fopen("my.txt""r"); 
    $part_size filesize("my.txt") /$num 
    for( 
    $i 1$i <=$num$i++){
    $part='part'.$i;
    $
    $part  fread($f_input$part_size); 
    $f_1 'f_1'.$i;
    $
    $f_1 fopen("part$i.txt""w"); 
    fwrite($$f_1,$$part ); 
    fclose($$f_1); 

    fclose($f_input); 

    ?>
     
    1 person likes this.
  18. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    1,991
    Likes Received:
    881
    Reputations:
    198
    Сори за оффтоп но зачем вставлять в адресную строку если можно сохранить в файл и в браузере подгружать к сайту етот скрипт, как ВКОПТ.
     
    _________________________
  19. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    795
    Likes Received:
    140
    Reputations:
    73
    Я не так часто скачиваю видео, если только кудато еду и на телефон скину парочку видео. Пользовался vkopt. Ужасно громоздкая вещь. Чтобы оставить только скачивать видео нужно кучу тумблеров переключить. Контакт у меня с ним ужасно лагает. Мне удобней выбрать видео вставить в строку и скачать сразу.
    Подгружать в оперу, я пробовал но чета не пашет ))))))
     
  20. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    795
    Likes Received:
    140
    Reputations:
    73
    Скачивание аудиозаписей из вконтакте

    Вконта поменяли вывод аудиозаписей поэтому предыдущий способ не работает.
    Вот рабочий скрипт:
    PHP:
    javascript:onDomReady(function() {  
    var 
    audio_objects document.getElementsByClassName('play_new');   
    for (var 
    i=0;i<audio_objects.lengthi++){
        var 
    audio_id audio_objects[i].id.split("play");
        var 
    new_line document.getElementById("audio_info"+audio_id[1]).value;
        var 
    mp3_file new_line.split(","); 
        
    document.getElementById("audio"+audio_id[1]).innerHTML "<a href='"+mp3_file[0]+"'> Скачать </a><br />"+document.getElementById("audio"+audio_id[1]).innerHTML;

    });  
    Копируем код, вставляем в адресную строку на странице с аудизаписями.
    [​IMG]
     
Loading...