Jump to content

andyarus

User
  • Posts

    63
  • Joined

  • Last visited

Everything posted by andyarus

  1. юзай рефакторинг, автоматом все заменишь и усе. как у тебя сделано, я бы точно делать не стал. пс. проспонсируешь, я настрою все, чтобы работало пспс. по теме хз, не сталкивался с таким.
  2. а post-запросом в данном случае можно отправить?
  3. ага win7 2мбит/с вручную ставил апач в одном месте подсказали, что причиной может быть частое curl_init curl_close.
  4. у меня почти так и сделано. только в цикле удаляются папки, а файлы сразу сносятся (CURLOPT_QUOTE, array('file1','file2','fileN'); ). скрипт делает то, что я хочу. но медленно! в 4 раза медленнее FileZilla! вопрос - какие у меня недочеты в коде? как ускорить?
  5. не все так просто оказалось, как хотелось бы. RMD удаляет только пустые папки. накатал велосипед, но он катится(удаляет файлы) в 4 раза медленнее FileZilla. хелп оптимизировать быдлокод? ?<?php set_time_limit(0); ob_implicit_flush(1); ob_end_flush(); $mtbegin = microtime(1); $useragents = str_replace("\r\n", '', file('useragents.txt')); //формат //ftp://login1:password@ftp.host.ru //ftp://login2:password@ftp.host.ru //ftp://login3:password@ftp.host.ru $count = file('loginsftp.txt'); for($i=0;$i<count($count);$i++){ $useragent = $useragents[mt_rand(0, count($useragents)-1)]; $logins = str_replace("\r\n", '', file('loginsftp.txt')); $url = array_shift($logins); file_put_contents('loginsftp.txt', implode("\r\n", $logins)); $result = CURL_FTP($url, 0, 0); $content = $result['content']; $arr = explode("\r\n", $content); $ftp = ''; foreach($arr as $v) $v !== '' ? $ftp[] = $v : ''; if($ftp == ''){ echo $i+1 .' '.$url.' <b style="color:green;">пусто!</b><br />'; continue; } else { $files = ''; $dirs = ''; foreach($ftp as $v) preg_match("#\.#", $v) ? $files[] = 'DELE '.$v : $dirs[] = $v; if($files !== '') $result = CURL_FTP($url, $files, 0, 1); if($result['errno'] == 21) $files = ''; $dirs = ''; foreach($ftp as $v) !is_dir($url.'/'.$v) ? $files[] = 'DELE '.$v : $dirs[] = $v; if($dirs !== ''){ for($a=0;$a<count($dirs);$a++){ $urldir = $url.'/'.$dirs[$a].'/'; $result = remove_ftp($urldir); if($result == true) continue; } } } $result = CURL_FTP($url, 0, 0); if(strlen($result['content']) == 0){ echo $i+1 .' '.$url.' <b style="color:maroon;">файлы удалены!</b><br />'; } else { echo $i+1 .' '.$url.' <b style="color:red;">huinya какая-то! (<i>не все файлы удалились. возможно проблема с CURLOPT_TRANSFERTEXT или правами на файлы</i>)</b><br />'; } continue; } if((round((round(microtime(1)-$mtbegin, 2))/60)) > 1){ echo '<br />Всего времени затрачено: '; echo '~'.round((round(microtime(1)-$mtbegin, 2))/60) .' мин<br /><br />'; } else { echo '<br />Всего времени затрачено: '; echo '~'.round(microtime(1)-$mtbegin, 2) .' сек<br /><br />'; } function remove_ftp($url){ $result = CURL_FTP($url, 0, 0); $content = $result['content']; $arr = explode("\r\n", $content); $ftp = ''; foreach($arr as $v) $v !== '' ? $ftp[] = $v : ''; $dir = preg_replace("#ftp://.+/#U", "", $url); $urldir = preg_replace("#/[^@:/]+/$#U", "/", $url); if($ftp == ''){ $dir = array("RMD $dir"); CURL_FTP($urldir, $dir, 0, 1); return true; } $files = ''; $dirs = ''; foreach($ftp as $v) preg_match("#\.#", $v) ? $files[] = 'DELE '.$dir.$v : $dirs[] = $v; if($files !== '') $result = CURL_FTP($urldir, $files, 0, 1); if($result['errno'] == 21) $files = ''; $dirs = ''; foreach($ftp as $v) !is_dir($url.'/'.$v) ? $files[] = 'DELE '.$v : $dirs[] = $v; if($dirs !== ''){ for($b=0;$b<count($dirs);$b++){ $urldir = $url.$dirs[$b].'/'; $result = remove_ftp($urldir); if($result == true) continue; } } remove_ftp($url); } function CURL_FTP($url, $deletearray, $upload=0, $delete=0){ global $useragent, $infile, $filetoupload; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FTPLISTONLY, 1); //curl_setopt($ch, CURLOPT_TRANSFERTEXT, 1); // если нет бинарных файлов (картинки, фавиконы и тп), вроде как работает быстрее if($upload == 1){ curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $infile); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($filetoupload)); } $delete == 1 ? curl_setopt($ch, CURLOPT_QUOTE, $deletearray) : ''; curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); $content['content'] = curl_exec($ch); $content['errno'] = curl_errno($ch); //if(curl_errno($ch) !== 21){ // echo 'Curl errornumber: ' . curl_errno($ch) . '<br />'; // echo 'Curl error: ' . curl_error($ch); //} curl_close($ch); return $content; } ?>
  6. как все просто оказывается) благодарю!
  7. я пробовал эти функции. но были тормоза, срабатывало через раз. кароч так и не догнал в чем дело, заюзал курл. работает моментально. есть команда типа DELE, но чтобы удаляла папки?
  8. $content = CURL_FTP($url, 0, 0); $arr = explode("\r\n", $content); foreach($arr as $v) $v !== '' ? $ftpfiles[] = $v : ''; foreach($ftpfiles as $v) $deletearray[] = 'DELE '.$v; CURL_FTP($url, 0, 1); function CURL_FTP($url, $upload=0, $delete=0){ global $useragent, $infile, $filetoupload, $deletearray; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FTPLISTONLY, 1); if($upload == 1){ curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $infile); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($filetoupload)); } $delete == 1 ? curl_setopt($ch, CURLOPT_QUOTE, $deletearray) : ''; curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); $content = curl_exec($ch); if(curl_errno($ch)){ echo 'Curl error: ' . curl_error($ch); } curl_close($ch); return $content; } цель - удалить все. достигается, если нет папок. если есть, вылазит ошибка. пробовал отделять папки, но не работает на ftp! foreach($ftpfiles as $v) !is_dir($v) ? $deletearray[] = 'DELE '.$v : ''; 1 вопрос - как на фтп отделить папки и файлы 2 вопрос - с помощью какой команды удаляются папки. файлы удаляются (DELE имя файла) 3 если нет команды для папок, как удалить все с ftp?
  9. я хочу аналог на javascript <?php if($configcheckedcheckbox == ' checked') { echo <<<EOD <script language="javascript"> show('logins'); show('spisok'); </script> EOD; } ?> блин, как все просто оказывается. надо было так var a = document.selecttelephone.logins[1].checked; if(a) { show('logins'); show('hlogins'); // == show('spisok'); } благодарю за помощь!
  10. я в javascript не бум-бум) document.selecttelephone.logins[1]; - нашел этот код. как я понял нумерация кнопок идет сверху вниз, начиная с [0] так не работает почему-то var a = document.selecttelephone.logins[1]; if (a.cheked) { show('logins'); show('spisok'); } как сделать, чтобы заработало или как вставить на страницу <script language="javascript"> show('logins'); show('spisok'); </script> с помощью javascript? а да, это должно срабатывать при загрузке страницы. т.е. не когда нажимаю на document.selecttelephone.logins[1] а именно когда страница только открывается т.е. с помощью javascript нельзя получить состояние "неактивного" (хз как правильно) элемента?
  11. ага, спасибо! я прост не видел твоего сообщения, когда отправлял последний пост. var a = document.selecttelephone.logins[1]; if (a.cheked) { innerHTMl = '<script language="javascript"> show('logins'); show('spisok'); </script>'; } как правильно вставить на страницу? есть в javascript аналог heredoc или howdoc ?
  12. Сделал все как хотел <form action="config.php" method="POST" name="selecttelephone"> <input type="radio" name="logins" value="all"<?php echo $configcheckedall; ?> onclick="hide('logins');hide('spisok')"><span style="cursor:pointer;" onclick="hide('logins');hide('spisok');document.selecttelephone.logins[0].checked=true">ВСЕ</span><br /> <input type="radio" name="logins" value="checkbox"<?php echo $configcheckedcheckbox; ?> onclick="show('logins');show('spisok')"><span style="cursor:pointer;" onclick="show('logins');show('spisok');document.selecttelephone.logins[1].checked=true">Выборочно</span> <span id="spisok" style="cursor:pointer;display:none;" onclick="showhide('logins')" id="hlogins">Скрыть список</span> </form> <script language="javascript"> function show(eid) { var gel = document.getElementById(eid); gel.style.display = ''; } function hide(eid) { var gel = document.getElementById(eid); gel.style.display = 'none'; } function showhide(eid) { var gel = document.getElementById(eid); var isvis = gel.style.display ? 1 : 0; gel.style.display = isvis ? '' : 'none'; var th = document.getElementById('h'+eid); if(th) { var rl = ['Скрыть список', 'Показать список']; th.innerHTML = th.innerHTML.replace(rl[isvis], rl[1-isvis]); } } </script> <?php if($configcheckedcheckbox == ' checked') { echo <<<EOD <script language="javascript"> show('logins'); show('spisok'); </script> EOD; } ?> Можно как-то проще было сделать?) Можно заменить пхп код на javascript? т.е. при selecttelephone.logins[1] == checked на страницу добавлялся javascript <script language="javascript"> show('logins'); show('spisok'); </script> Вопрос остается открытым: как получить checked или нет <input type="radio" name="logins"> ?!
  13. Как получить checked или нет <input type="radio" name="logins"> ?! Ща так <form name="selecttelephone"> <input type="radio" name="logins" value="all"><span style="cursor:pointer;" onclick="hide('logins');document.selecttelephone.logins[0].checked=true">ВСЕ</span><br /> <input type="radio" name="logins" value="checkbox"><span style="cursor:pointer;" onclick="show('logins');document.selecttelephone.logins[1].checked=true">Выборочно</span> </form> <script language="javascript"> function show(eid) { var gel = document.getElementById(eid); gel.style.display = ''; } function hide(eid) { var gel = document.getElementById(eid); gel.style.display = 'none'; } </script> <div id="logins" style="display:none;"></div> Надо, чтобы было тоже самое, когда выбираешь radio. Если selecttelephone.logins[0] == checked, то hide('logins'); Если selecttelephone.logins[1] == checked, то show('logins'); Как это на javascript делается? ы, если добавить <input type="radio" name="logins" value="all" onclick="show('logins')">, то все работает как нужно. пробовал так, но код show/hide нерабочий был, а ща забыл затестить. но вопрос как получить checked или нет <input type="radio" name="logins"> ?! остается открытым. надо, чтобы при selecttelephone.logins[1] == checked появлялся <span style="cursor:pointer;" onclick="showhide('logins')" id="hlogins">Скрыть список</span> function showhide(eid) { var gel = document.getElementById(eid); var isvis = gel.style.display ? 1 : 0; gel.style.display = isvis ? '' : 'none'; var th = document.getElementById('h'+eid); if(th) { var rl = ['Скрыть список', 'Показать список']; th.innerHTML = th.innerHTML.replace(rl[isvis], rl[1-isvis]); } }
  14. http://jsfiddle.net/nmpAd/ http://jsfiddle.net/m97Qg/3/ http://jsfiddle.net/f9YuV/
  15. нашел оптимальней решение (accesskey требует сочетания клавиш, причем оно различается в браузерах) <body onkeydown="if(event.keyCode == 79) blabla('bla');"> при нажатии на o(щ) срабатывает нужная функция, т.е. onkeydown="if(event.keyCode == 79)" заменяет onclick, что и требовалось. p.s. говорят, когда кажеца нид крестица. аминь. ты мне один раз бан дал уже незаслуженно. можешь еще раз дать, мне срать. тут все равно всего пару спецов нормальных, вроде Great Rash. ты в том числе, но походу у тебя звездная болезнь началась. остальной же контингент - тупорылая школота.
  16. я на форуме написал, чтобы ускорить поиск решения. все-таки форум предназначен для взаимопомощи, имхо. не хочешь помочь, пройди мимо, кому нужна твоя истерика?
  17. элементарную функцию западло написать... Может кому пригодится, сделал так: <a href="javascript:blabla('bla')" accesskey="o"></a> function blabla(eid) { var gel = document.getElementById(eid); var isvis = gel.style.display ? 1 : 0; gel.style.display = isvis ? '' : 'none'; var th = document.getElementById('h'+eid); if(th) { var al = ['[+]', '[-]']; var rl = ['collapse', 'expand']; th.innerHTML = al[isvis]+th.innerHTML.substring(3, 100); th.innerHTML = th.innerHTML.replace(rl[isvis], rl[1-isvis]); } }
  18. да я так же думал, только не знаю как реализовать это. не шарю в javascript. можешь написать функцию? еще у меня ща так style="cursor:pointer" onclick="javascript:blabla('id')" при клике инфа сворачивается или разворачивается. как можно заменить onclick, чтобы если я например нажимал клавишу O, срабатывал javascript:blabla('id') ?
  19. хочу, чтобы при нажатии на определенную клавишу (или сочетание) блок(<div></div>) становился видимым или невидимым. как такое можно реализовать?
  20. и все-таки, можно portable ослов использовать для проверки или обязательно нужно интегрировать в систему? (IE 6-8)
  21. Как минимум нужна кодировка Temiks +1 а что за функции show() у него в разметке? чтобы ссылки открывались без загрузки новых страниц? как это повлияет на индексацию поисковиками(seo)? Из-за этого js сайт подгружается долго. ТС рекомендую сделать по-другому.
  22. спасибо) случайно вчера наткнулся на мини описание этого сайта, самому тестить было влом, поэтому спросил тут
  23. телепат детектед кто что думает по поводу этого сервиса?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy