Индексиране на папки в дата.бг

Soul_Stealler

Registered
Ето едно кодче което сега го правя. Индексира папките на потребителите в дата.бг :) Кажете още какво да му добавя.

П.П. За да индексира дадена директория трябва да сложите
?server=http://store2.data.bg/radoeminem/
и http://store2.data.bg/radoeminem/ го замествате с директорията която искате да индексира.



Код:
<?PHP
////////////////////////////////
////////Made by S_Soul//////
///////////////////////////////
$count = "1";
$num_files = "0";
function remove_html(&$item, $key)
{
   $item=trim(strip_tags($item));
}

function get_links($url) {
$preg =
"/a[\s]+[^>]*?href[\s]?=[\s\"\']+(.*?)[\"\']+.*?>"
."([^<]+|.*?)?<\/a>/";
   preg_match_all(trim($preg),
           file_get_contents($url), $out, PREG_PATTERN_ORDER);
   $keys = $out[1];
   $values = $out[2];
   array_walk($values, 'remove_html');

$num = count($keys);


	for($i = 1; $i < $num; ++$i){
//////////////////////////////////////////////////////////////////////////////////////////////////
		$end_key = strrchr($keys[$i], "/");
	        					    	if ($end_key != null){
		$razshir = strrchr($keys[$i], ".");
		$razshir = strtolower($razshir);
				if ( $razshir == ".mp3" || $razshir == ".avi" || $razshir == ".srt" || $razshir == ".mp4" || $razshir == ".wmv" || $razshir == ".mid" || $razshir == ".jpg" || $razshir == ".jpeg" || $razshir == ".png" || $razshir == ".bmp" || $razshir == ".gif" || $razshir == ".flac" || $razshir == ".rar" || $$razshir == ".zip" || $razshir == ".mpeg" || $razshir == ".exe" || $razshir == ".iso" || $razshir == ".nfo" || $razshir == ".3mu" || $razshir == ".sfv"){
		
		
		$count++;
		                                  				  if ($count == "2"){
		
		$count = "0";
$num_files ++;
	echo "<b>[FILE]</b> <a href=\"$keys[$i]\">$values[$i]</a> - $razshir<br>
	";
                                       			   }


					} else {
							$count++;
		                                  				  if ($count == "2"){
		                                  				  		$count = "0";
		                                  				  		if ( $values[$i] != "Предна директория" ){
		                                  				  if (	get_links($keys[$i])){
												echo "<b>[DIR]</b> <a href=\"$keys[$i]\">$values[$i]</a> - $razshir<br>
												";
												$num_files ++;
												} else {
												}
												}
																		}
																	
					}
											}
	
	
	



//////////////////////////////////////////////////////////////////////////////////////////////////	
}
}

get_links($server);

?>
:) :)
 

LiRiX

Registered
Леле, супер скриптче :?:
Качи го някъде и да постваме на всички потребители папките :D ще е едно мини дата.бг сърч :D .
 

Smirnoff

Registered
Имам едно предложение към потребителите тук който разбират от php.

Значи може ли да се пусне нещо като бот, използвайки каталога за потребители да индексира потребител по потребител и да запазва информацията в база данни. И от там нататък една търсачица която да търси в базата данни и става яко.

Разбирам, че е лесно да го кажа и, че сигурно е хипер трудно, но все пак да предложа :D
 

bafitu

Registered
xxx
с 1 фор може да обходим всички страници (понеже са по азбуката http://www.data.bg/menu/list.php?type=users&word=A ) , но..
идва момента в който трябва да накараме скрипта да отваря 1 по 1 всеки адрес , и всяка папка... :) айде то за папките май скрипта е готов..
значи само трябва да го накраме от страницата с потребителите да взима всеки адрес и след това тези адреси да ги претърсва :)
на теория е много просто :D
не ми се занимава иначе бих пробвал нещо...
Но има 1 проблем .. а ако потребителя е платил там сметката ..
индекса май се сменяше с някакъв друг ( с линкове за галерия, форум и тн)
така,че.. дори и да направиме скрипта половината потребители ще останат неиндексирани..
 

Soul_Stealler

Registered
Има и още един проблем. В зависимост от големината на папката, сцрипта отнема доста време :wink:
 

jooorooo

Registered
на теория е възможно, бях почнал да правя такова нещо но като поразмислих, то фаиловете постоянно се качват и трият и ще трябва постоянно да се обхожда, а за индексите който са сменени както спомена bafitu може лесно да се направи да не се разчитат, а да се игнорират. Просто няма смисъл ще почне да вади празни резултати когато някой файл се делне.
 

Soul_Stealler

Registered
Със сигурност има начин да се провери начин дали има даден файл на отдалечен сървър :) ( така мисля де :roll: :) )
 

Soul_Stealler

Registered
Има и друг начин ... правим една търсачка и един платен акаунт и я нагласяме да търси през този акаунт и готово :)
Имаме си безплатна търсачка за дата.бг :)
 

Smirnoff

Registered
Soul_Stealler каза:
Има и друг начин ... правим една търсачка и един платен акаунт и я нагласяме да търси през този акаунт и готово :)
Имаме си безплатна търсачка за дата.бг :)

А това възможно ли е :roll:
 

Soul_Stealler

Registered
Ами ... би трябвало да има начин :) .
Поне така мисля де ...

P.S. Има ли някой който да потвърди теорията ми, че това е възможно ? :)
 

lamerko

Registered
Soul_Stealler каза:
Ами ... би трябвало да има начин :) .
Поне така мисля де ...

P.S. Има ли някой който да потвърди теорията ми, че това е възможно ? :)

Ако знаеш точното име на файла (и пълния път до него), можеш да направиш заявка за него... а сървърът ти върне код 200 (ОК) - значи файла е там и е достъпен...
 

Smirnoff

Registered
lamerko каза:
Soul_Stealler каза:
Ами ... би трябвало да има начин :) .
Поне така мисля де ...

P.S. Има ли някой който да потвърди теорията ми, че това е възможно ? :)

Ако знаеш точното име на файла (и пълния път до него), можеш да направиш заявка за него... а сървърът ти върне код 200 (ОК) - значи файла е там и е достъпен...

Говорим за търсачка, която търси в момента на натискането на бутона.
Не да ми искарва предварително съхранени данни в наш сървър :wink:
 

lamerko

Registered
Smirnoff каза:
Говорим за търсачка, която търси в момента на натискането на бутона.
Не да ми искарва предварително съхранени данни в наш сървър :wink:

Това е МНОГО лоша идея!!!
 

lamerko

Registered
Ако ми се наложи да "поизчакам" м/у 20 мин и 3-4 часа... мислиш ли, че няма да ми пука :)

ПП: Помисли си за минималните времена на отговор!
 

Smirnoff

Registered
lamerko каза:
Ако ми се наложи да "поизчакам" м/у 20 мин и 3-4 часа... мислиш ли, че няма да ми пука :)

ПП: Помисли си за минималните времена на отговор!

Рибата не сме хванали ти тигана готвиш :lol: .
Чакай да стане готова системата после ше мислим как да е по "олекотена" :)
 

Centrino

Registered
Нещо този скрипт не работи :( някой може ли да го праобва и да каже .. моля
 

Горе