Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Dolce0109

Страницы: [1] 2 3
1
ГГГ... у меня на локальном сервере 136 908 строк кода! гг

2
Отвечать уже не надо, сам написал на досуге... вот файлик. Кладем в любую дир, запускаем, и узнаём скока строк занимает наш проект ;)


<?
<?
	
/******
	
* Считалка - Экспериментальный проект!
	

	
* Данный файл, при запуске из какой-либо дириктории выведет на
	
* экран броузера общее кол-ко PHP кода во всех файлах в этой
	
* дириктории и во всех поддирикториях!
	

	
* Автор: А. Куликов aka Dolce -- [email]alex@koulikov.cc[/email]
	
* Версия: 1.0
	
* Дата: 30.03.2002 
	
***************/
	

	

	
/**
	
 * _readDir() - считывает список всех поддирикторий, начиная от
	
 * 
	
	
	
	
	
	
	
заданного пути.
	
 * 
	
 * @param $path
	
 * @return (array)
	
 */
	
function 
_readDir($path=""){
	
	
//echo "OPENING PATH :: " . $path . "
";
	
	
$dir_tree = array();

	
	
$d = dir($path);
	
	
while(
$entry = $d->read()){
	
	
	
if(!stristr(
$entry,\'.\')){
 
	
	
 
	
 
	
$dir_tree[$entry] = $entry;
	
	
	
}
	
	
}
	
	
	
	

	
	
unset(
$dir_tree[\'templates\']);
	
	

	
	
$d->close();

	
	
return 
$dir_tree;
	
}
	

	

	
/**
	
 * _readPHP() - считывает список всех PHP файлов из дириктории, заданой
	
 * 
	
	
	
	
	
	
	
в параметре 
$path
	
 * 
	
 * @param 
$path
	
 * @return (array)
	
 */
	
function _readPHP(
$path=""){
	
	
$dir_tree = array();
	
	
$d = dir($path);
	
	

	
	
while(@
$entry = $d->read()){
	
	
	
if(eregi("
.php$",$entry)){
  
	
  
	
array_push(
$dir_tree,$entry);
	
	
	
}
	
	
}
	
	
@
$d->close();
	
	
return 
$dir_tree;
	
}
	

	

	
/**
	
 * _readAll()  - давайте мыслить рекурсивно!
	
 * 
	
 * @param 
$path
	
 * @return (int)
	
 */
	
function _readAll(
$path=""){
	

	
	
if(is_dir(
$path)){
	
	
	
$initial = _readDir($path);
	
	
}
	
	

	
	
//are there subdirs?
	
	
if(count(
$initial)>0){
	
	
	
while(list(
$key,$val)=each($initial)){
	
	
	
	
if(strlen(
$path)>0){
	
	
	
	
	
$mypath = $path . "/" . $val;
	
	
	
	
}else{
	
	
	
	
	
$mypath = $val;
	
	
	
	
}
	
	
	
	
$overall = $overall + _readAll($mypath);
	
	
	
	
//echo 
$mypath . "
";
	
	
	

	
	
	
}
	
	
}
	
	

	
	
//read files
	
	
if(is_dir(
$path)){
	
	
	
$files = _readPHP($path);
	
	
}else{
	
	
	
$files = array();
	
	
}
	
	

	
	
while(list(
$key,$val)=each($files)){
	
	
	
//open each file and check how many lines of code it has
	
	
	
if(strlen(
$path)>0){
	
	
	
	
$mypath = $path . "/" . $val;
	
	
	
}else{
	
	
	
	
$mypath = $val;
	
	
	
}
	
	
	
$file = fopen($mypath, "r");
	
	
	
$rf = fread($file, 20000);
	
	
	
$temp = explode("\\n",$rf);
	
	
	
$tot = count($temp);
	
	
	
//echo "
--" . $val . " lines " . $tot . "
";
	
	
	
$overall = $overall + $tot;
	
	
	
fclose(
$file);
	
	
}
	
	

	
	
//echo "
<bTOT: </b>" . $overall;
	
	

	
	
return 
$overall;
	
}
	
	

	

	
/**
   * startTiming() - to start the timer for script execution
   * 
   * @return void
	
 * 
	
 * Version: 1.0  Date: 13.01.2002  Author: Koulikov Alexey 
   */
  function startTiming(){
	
  global 
$startTime;
	
  
$microtime = microtime();
	
  
$microsecs = substr($microtime, 2, 8);
	
  
$secs = substr($microtime, 11);
	
  
$startTime = "$secs.$microsecs";
  }
	

	

	
/**
	
 * stopTiming() - to stop the timer for script execution
	
 * 
	
 * @return end time - float
	
 * 
	
 * Version: 1.0  Date: 13.01.2002  Author: Koulikov Alexey
	
 */
	
function stopTiming(){
  
	
global 
$startTime;

   
	
$microtime = microtime();
   
	
$microsecs = substr($microtime, 2, 8);
   
	
$secs = substr($microtime, 11);
   
	
$endTime = "$secs.$microsecs";
    
$tottime = round(($endTime - $startTime),4);
	
	
return 
$tottime;
  }
	

	
//Запустим секундомер
  startTiming();
	

	
$total = _readAll();
	
switch (
$total){
	
	
case (
$total < 2500):{$status = \'Малютка\'; break;}
	
	
case ($total < 5000):{$status = \'Малышь\'; break;}
	
	
case ($total < 7500):{$status = \'Почти Середнячок\'; break;}
	
	
case ($total < 10000):{$status = \'Середнячок\'; break;}
	
	
case ($total < 20000):{$status = \'Крупнячок\'; break;}
	
	
case ($total < 30000):{$status = \'Здоровяк\'; break;}
	
	
case ($total < 40000):{$status = \'Гигант\'; break;}
	
	
default:{$status = \'Супер Гигант\'; break;}
	
}
	

	
echo "Всего вы (а может и не вы) написали <b>" . $total . "</b> строчек кода!

";
	
echo "По объективным оценкам, <b>ваш проект - " . $status . "</b>

";
	
echo "Этот подсчёт занял: " . stopTiming() . " секунд!";
?>

3
PHP / Подсчитаем...
« : 30 Марта 2002, 03:35:25 »
Народ, вот есть у меня проект, на PHP ест-но... большуший, штук 100 файлов, куча поддирикторий, и тут в голову взбрело подсчитать сколько всего у меня строк кода... самому писать такой скрипт сейчас лень, может есть у кого уже?

4
Другие форумы / Самый рульный форум*
« : 19 Марта 2002, 04:18:34 »
Кстати, про поваленный форумы. Повалить форум можно не в буквальном смысле, а в виртуальном. То бишб получить над ним контроль в какой-либо степени. Будь то просто стирание или посылка миллиона сообщений, или полный админ контроль.

5
Другие форумы / Самый рульный форум*
« : 19 Марта 2002, 04:15:51 »
Кстати, вот тут и реторика, какие функции для форума просто необходимы, а какие просто напросто не нужны. Давайте покумекаем используя давно известный маркетологам принцым 80/20, то бишь 80 проц. пользователей будут юзать лишь 20% функций, и наоборот.

Мне кажется что главное это

а) Настройка дизайна
б) Скорость работы
в) Пользователь, как клиент в магазине - босс на форуме (виртуально), но на самом деле вся сила админам. Так вот, важно ещё чтобы каждый пользователь мог стать модератором или даже админом.

----

Про ITA - на самом деле, то что делал для себя закончилочь на версии 1.0 - там я тоже дыру тоннель нашёл, залатал, прилепил пару примочек и вышла потом как-то версия 1.15. С тех пор все наработки делаю лишь тогда, когда совсем делать нечего и пользователи задрали с просьбами. Просто опять же, чем больше функций, тем больше вероятность появления ошибки в какой-либо функции, а потому и больше вероятность того, что форум может быть где-то уязвим. Эта тенденция мне совсем не по душе, я бы лучше концетнрировал внимание на тех 20% функций, который юзают 80% пользователей, чтобы довести форум до совершенства.

6
Другие форумы / Самый рульный форум*
« : 18 Марта 2002, 14:17:01 »
ГГГ... г... гг... да нет, то что дыры сразу закрываются - это точно, но во всем остальном я бы поскромничал...

8
ITA! - все файлы перед отправкой пользователю пакует GZIP - так что реальный траффик в 4-6 раз меньше размера страницы, соот. и скорость загрузки больше.

9
Другие форумы / Самый рульный форум*
« : 17 Марта 2002, 04:36:24 »
Да кстати... просто интересно, ни чего личного, почему? Вот ITA форум ещё ни разу ни кто повалить не смог... а во всех остальных проектах дырочки имеются ;)

10
PHP / MS WORD cont/
« : 04 Марта 2002, 06:29:09 »
Вот, открывать WORD файлы я научился, но вот с COM объектами работать не приходилось, может кто расскажет как мне весь текст из файла прочитать?

пока я могу делать вот что:

<?php

#Instantiate the Word component.

	
$word = new COM("word.application") or die("Unable to instantiate Word"); 
	
$the_file "E:\\local\\htdocs\\hello.doc";

	
#Get and print its version

	
print 
"Loaded Word, version {$word->Version}<BR>"

	
#Make it invisible in a window
	
$word->Visible 0

	
#Open a document 
	
$word->Application->Documents->Open($the_file);
	

	
echo 
"so, we are here " $word->Selection->StartOf();

	
$word->Quit(); 
?> 

11
JavaScript & JScript / Layers и всякое
« : 11 Февраля 2002, 20:32:41 »
...ну нравится мне Корзина Покупок на http://www.ozon.ru - просто лапка, открывается Layer, в нём что надо прогружается... ой как приятно и удобно, ни кто не подскажет где такой JavaScript надыбить мона?... (корзину покупок я сам пропроггить могу, мне вот эта скользящая фишка нужна)

12
PHP / MIME
« : 30 Января 2002, 15:19:56 »
Спасибо, я после долгих мучений всё-таки разобрался :)) Мне attachment нужен был :) Теперь новая проблема, как его скинуть пользователю :)))

13
PHP / MIME
« : 30 Января 2002, 04:10:51 »
Вот пишу тут мейл приложение... как посылать MIME почту с приложения - это ясно... но вот уже часа три голову ломаю как

а) Получить список приложений (имена файлов)
б) их "отдать" пользователю

14
PHP / открытые сессии
« : 30 Января 2002, 04:08:07 »
Не прально... сборщик мусора эти файлы может не удалать неделями... скока народу на сайте делается по-другому, на этом сайте вроде уже была статья про это ;)

15
PHP / Эх - кодировка
« : 18 Января 2002, 20:43:38 »
Пишу тут одно мейл приложение - http://www.koulikov.cc (прошу не нервничать, порт.ру разрешение на использования дизайна дало)... так вот, как переводить текст из одной кодировки (KOI в WIN и обратно) я знаю, но вот в чём проблема, а как определить в какой кодировке находится письмо изначально?? И ещё, как определить систему пользователя, а то на *nixe всё в KOI прекрасно видно (почти, кроме мейлов посланных с серверов мирософта) и наоборот... :((

Страницы: [1] 2 3