| | |
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
ahojte. chcel by som si napisat skript, co by vyhladaval subory na FTP serveroch.
a nejak ma nenapada ziaden rozumny sposob, ako by to mohlo fungovat. nejde mi tu teraz o nic konkretne, len nejaky vseobecny princip, pomocou akeho by to mohlo fungovat. mozno vas nieco napadne, co mna nie
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 29.08.2008 13:13 | |
|
môžeš si spraviť script, podobný scriptu na výpis adresára, v ktorom nebudeš vypisovať mená všetkých súborov, ale iba tých, ktoré zodpovedajú zadaným kritériam
_________________ Sorry za prelkepy |
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
no to je jasne, lenze problem je v tom, ze taky FTP server ma x adresarov a x podadresarov a tie maju x podadresarov atd...
no a s tym ma problem, nejakym sposobom mu musim povedat, aby prehladaval vsetke adresare, podadresare atd. popri tom musi ukladat vsetke subory do nejakej premennej, aby som ich vedel porovnat na zhodnost s vyhladavanym retazcom
nejak neviem, ako na to...
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 29.08.2008 13:39 | |
|
buďto dáš do scriptu, kde všade má vyhľadávať, v akých adresároch, alebo to spravíš pomocou cyklu.. keď kontroluješ súbor, vieš zistiť, či je to adresár alebo súbor. ak je to adresaár, tak ho otvoríš a aj tam sa bude vykonávať cyklus, a ak aj v tom podadreasri je adresar, tak aj tam bude vyhľadávať. a tak ďalej a ďalej.
a na to ukaldanie máš tiež dve možnosti. môžeš ukladať hneď iba vyhovujúce súbory do pola, a potom ich vypíšeš, alebo tam uložiť všetky a potom odfiltrovať. a
_________________ Sorry za prelkepy |
|
Registrovaný: 28.08.08 Prihlásený: 30.08.08 Príspevky: 4 Témy: 0 |
povedal by som, ze jedine schodne riesenie je ukladat nazvy suborov do databazy a potom hladat v nej, tam je to bezproblemove. o co konkretne ide, ked chces hladat priamo vo filesysteme?
|
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
chcem spravit script, ktory bude vyhladavat subory a zlozky na FTP serveroch...
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 29.08.2008 20:53 | |
|
Tak taký skript urob.
Stačí, ak si urobíš funkciu, ktorá bude mať ako parameter url toho ftp. Pomocou curl načítaš zoznam súborov a adresárov a postupne ich budeš spracovávať. Ak tam bude adresár, tak rekurzívne zavoláš tú funkciu a k url pridáš názov toho adresára (to spôsobí, že sa načíta obsah podadresára).
|
|
Registrovaný: 02.09.08 Prihlásený: 23.01.13 Príspevky: 81 Témy: 17 | Napísal Roko: 04.09.2008 10:04 | |
|
ako sa da rozlisit zlozka od suboru na FTP serveri?
|
|
Registrovaný: 03.09.08 Prihlásený: 13.09.08 Príspevky: 8 Témy: 0 | |
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 Bydlisko: KE | Napísal zero0x: 04.09.2008 21:38 | |
|
to sa da iba indexovanim do databazy, prip suboru..
prechadzas celu suborovu strukturu a ukladas cesty..
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 05.09.2008 13:47 | |
|
prečo hovoríš, že IBA indexovaním do databázy? čítal si príspevky vyššie? dá sa to aj bez idexovania v DB.. keď to má v DB, je to síce praktické pri vyhľadávaní, ale vždy, keď pridá nejaký súbor na FTP, bude musieť spustiť ten skript, ktorý zapíše všetky súbory do DB (mimochodom, tento istý script môže použiť na vyhľadávanie po menších úpravach, čo je spomínané vyššie), alebo pridávať ručne do DB súbor, vždy jak ho upne na FTP. čo je zas moc nepraktické, ak uploaduje väčšie množstvo súborov.
takže si myslím, že tu je databáza zbytočná.. môj názor...
_________________ Sorry za prelkepy |
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
no uz asi viem, ako to spravim, len som narazil na dalsi problem a uz mi z toho asi sibe.
funkcia explode mi nejak nechce rozdelit retazec.
do premennej $files nacitavam obsah zlozky:
Kód: $files = ftp_rawlist($ftp_conn, $akt_dir); do premennej $row1 nacitavam prvy riadok zlozky: Kód: $row1 = $files[0]; nasledujuci kod: Kód: echo '$row1: '.$row1.'<br>'; mi vypise tento vysledok: $row1: drwxrwxr-x 8 ftpadm ftpadm 4096 Sep 7 22:53 . takze v $row1 mam ulozeny 1 riadok obsahu zlozky potom pomocou funkcie explode chcem rozdelit riadok $row1 Kód: $split = explode(' ', $row1); no a tu sa prejavuje ta chyba. ak chcem vypisat prvu cast riadku: Kód: echo '$split[0]: '.$split[0].'<br>'; tak mi vypise: $split[0]: drwxrwxr-x ale dalej to uz nejde a $split[1] mi vypisuje prazdny retazec Kód: echo '$split[1]: '.$split[1].'<br>';
$split[1]:
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 22.09.2008 22:44 | |
|
Skús tesne pred tým volaním funkcie explode takýto jemný debugovací kód:
Kód: echo "<pre>".var_export($row1)."</pre>";
A povedz nám, čo ti vypíše...
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
vypise mi to toto:
'drwxrwxr-x 8 ftpadm ftpadm 4096 Sep 7 22:53 .'
cize normalne riadok, ktory vypisat ma. len preco ho explode nevie rozdelit? davam snad zly rozdelovac?
EDIT: no prave som na to prisiel. presne tak, daval som zly rozdelovac.
$split = explode(' ', $row1); -zly zapis, lebo medzi uvodzovkami je medzera
$split = explode(' ', $row1); -dobry zapis, lebo tam je tab
diki za pomoc
|
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 |
no uz som nieco napisal, no nechce mi to fungovat. nasiel by sa niekto, kto by mi poradil?
ide o to, ze mi nefunguje cyklus for na riadku 95. stale sa mi zacykli a do tabuliek mi vpisuje tie iste adresare. ak by bolo nieco nejasne, pytajte sa...
Kód: <?php
include ('functions.php'); //vypocet, ako dlho bezal skript, cast 1/2 $time_start = microtime_float();
$identifier = get_identifier_value(23); //vygenerovanie identifikacneho retazca echo '<b>Search ID:</b> '.$identifier.'<br><br>';
//vytvorenie tabulky v databaze pre konkretne hladanie $conn = new mysqli('localhost', 'xxxxx', 'xxxxxxx', 'ftpsearch'); $table_dir = $identifier.'_dir'; $table_fil = $identifier.'_fil'; $table_temp = $identifier.'_temp'; $query1 = "CREATE TABLE $table_fil ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name varchar(115), path varchar(115) )"; $query2 = "CREATE TABLE $table_dir ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name varchar(115), path varchar(115) )"; $query3 = "CREATE TABLE $table_temp ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name varchar(115), path varchar(115) )";
//dotazy na databazu - vytvorenie tabuliek MySQL $result = $conn->query($query1); $result = $conn->query($query2); $result = $conn->query($query3); //pripojenie k FTP serveru //login data $ftp_server = "ftp.xxxxxxxx.sk"; $ftp_user_name = "xxxxxxx"; $ftp_user_pass = "xxxxxxx"; //samotne pripojenie $ftp_conn = ftp_connect($ftp_server) or die("neviem sa pripojit na ftp_server"); // login with username and password $login_result = ftp_login($ftp_conn, $ftp_user_name, $ftp_user_pass); $akt_dir = ftp_pwd($ftp_conn); $files = ftp_nlist($ftp_conn, $akt_dir); $cnt = count($files); for($i=0; $i<$cnt; $i++) { $row = $files[$i]; $fin = str_replace ("/", "", $row); echo $fin; if(!is_dir($fin)) { if(@ftp_chdir($ftp_conn, $fin) == true) { echo ' <u>toto je zlozka</u><br>'; $akt_dir = ftp_pwd($ftp_conn); $query = "INSERT INTO $table_dir VALUES ('', '$row', '$akt_dir')"; $result = $conn->query($query); $query = "INSERT INTO $table_temp VALUES ('', '$row', '$akt_dir')"; $result = $conn->query($query); ftp_cdup($ftp_conn); } else { echo ' toto je <b>subor</b><br>'; $akt_dir = ftp_pwd($ftp_conn); $query = "INSERT INTO $table_fil VALUES ('', '$row', '$akt_dir')"; $result = $conn->query($query); } } } for (; ; ) { $query4 = "select * from $table_temp"; $result = $conn->query($query4); $temp_count = mysqli_num_rows($result); if ($temp_count == 0) { break; } echo '<br>pripravujem dotaz v cykle for...'; $query5 = "select * from $table_temp limit 1"; $result2 = $conn->query($query5); $row = mysqli_fetch_array($result2); echo '<br>***********************************<br>$row[0]: '.$row[0]; echo '<br>$row[1]: '.$row[1]; echo '<br>$row[2] '.$row[2].'<br>***********************************<br>'; $akt_dir = ftp_pwd($ftp_conn); echo 'akt_dir = '.$akt_dir.'<br>'; $cdnow = ftp_chdir($ftp_conn, $row[2]); $akt_dir = ftp_pwd($ftp_conn); echo 'akt_dir = '.$akt_dir.'<br>'; $files = ftp_nlist($ftp_conn, $akt_dir); $cnt = count($files); for($i=0; $i<$cnt; $i++) { $row = $files[$i]; $fin = str_replace ("/", "", $row); echo $fin; if(!is_dir($fin)) { if(@ftp_chdir($ftp_conn, $fin) == true) { echo ' <u>toto je zlozka</u><br>'; $akt_dir = ftp_pwd($ftp_conn); $query = "INSERT INTO $table_dir VALUES ('', '$fin', '$akt_dir')"; $result = $conn->query($query); $query = "INSERT INTO $table_temp VALUES ('', '$fin', '$akt_dir')"; $result = $conn->query($query); ftp_cdup($ftp_conn); } else { echo ' toto je <b>subor</b><br>'; $akt_dir = ftp_pwd($ftp_conn); $query = "INSERT INTO $table_fil VALUES ('', '$fin', '$akt_dir')"; $result = $conn->query($query); } } }
$query = "DELETE from $table_temp where id = '$row[0]'"; $result = $conn->query($query); echo '<br><br>Result: '.$result.'<br>'; } //toto musi byt na spodku! //vypocet, ako dlho bezal skript, cast 2/2 $time_end = microtime_float(); $time = $time_end - $time_start;
echo "<br><br><b>Script time:</b> $time seconds\n"; ?>
tu je functions.php Kód: <?php
function get_identifier_value($numbercount) { for ($i = 0; $i < $numbercount; $i++) { $j = rand(0,1); if ($j == 0) { $cache = rand(0,9); } else { $cache = chr( ord("a") + rand(0, 25) ); } $number .= $cache; } return($number); } function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); }
?>
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
PHP zaciatocnik píše: $split = explode(' ', $row1); -zly zapis, lebo medzi uvodzovkami je medzera $split = explode(' ', $row1); -dobry zapis, lebo tam je tab
toto je zaujimave, ja to s medzerou pouzivam uplne bezne a vzdy to islo.. akurat, ze davam " " miesto ' ' (typ uvodzoviek) ale to by nemal byt rozdiel...
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Vyhľadavací robot v PHP, ASP | 8 | 640 | 21.10.2007 22:05 Bananslovak | | Binarniy vyhladavaci strom [C] v Assembler, C, C++, Pascal, Java | 1 | 529 | 28.10.2014 18:18 BX | | Pomoc s úpravou vo vyhľadávači v Internetový marketing, SEO, reklama | 1 | 552 | 21.11.2021 14:57 void | | Cookiebar text vo vyhladavaci Google v HTML, XHTML, XML, CSS | 2 | 395 | 12.10.2016 8:29 neopagan | | pozicia vo vyhladavaci /google.sk/ v Internetový marketing, SEO, reklama | 29 | 3342 | 06.12.2007 14:14 pa3ck | | vyhladavaci string heureka.sk pre Operu v Sieťové a internetové programy | 2 | 387 | 27.07.2012 16:56 mtxd | | pozicia vo vyhladavaci pre rozne prehliadace [ Choď na stránku: 1, 2 ] v Internetový marketing, SEO, reklama | 41 | 2821 | 22.06.2009 19:33 Tominator | | Ako sa zobrazovat na mape vo vyhladavaci? v Ostatné | 1 | 381 | 19.06.2017 13:33 ado130 | | Skript v Ostatné | 10 | 507 | 09.01.2014 18:38 fikaps | | skript [ Choď na stránku: 1, 2 ] v HTML, XHTML, XML, CSS | 35 | 1946 | 08.10.2009 23:08 sillyounguy | | skript v PHP, ASP | 10 | 1168 | 05.09.2006 20:25 programator | | Download skript v Redakčné systémy | 4 | 904 | 19.12.2006 23:06 JanoF | | zacykleny skript v PHP, ASP | 1 | 482 | 29.10.2007 20:07 qacer | | kalendar skript [ Choď na stránku: 1, 2 ] v PHP, ASP | 30 | 2051 | 30.06.2008 14:06 dadmtb | | countdown skript v JavaScript, VBScript, Ajax | 1 | 929 | 31.08.2007 17:26 KaktusBR | | PHP skript v PHP, ASP | 1 | 307 | 02.11.2012 14:05 MasterMatoSK |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|