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 | 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 ![:rolleyes:](https://www.pcforum.sk/images/smilies/smile08.gif)
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
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 ![:)](https://www.pcforum.sk/images/smilies/smile02.gif)
_________________ Sorry za prelkepy |
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 | 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 | 181 Bydlisko: Nitra / Bra... |
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 | 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 | 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 | 0 |
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 | 17 |
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 | 0 | |
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
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 | 181 Bydlisko: Nitra / Bra... |
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... ![:)](https://www.pcforum.sk/images/smilies/smile02.gif)
_________________ Sorry za prelkepy |
|
Registrovaný: 14.06.07 Prihlásený: 23.10.08 Príspevky: 28 Témy: 5 | 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 | 35 Bydlisko: BA - WESTSIDE |
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 | 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 | 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 | 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 |
---|
![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v PHP, ASP | 8 | 718 | 21.10.2007 22:05 Bananslovak | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Assembler, C, C++, Pascal, Java | 1 | 575 | 28.10.2014 18:18 BX | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Internetový marketing, SEO, reklama | 1 | 609 | 21.11.2021 14:57 void | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v HTML, XHTML, XML, CSS | 2 | 439 | 12.10.2016 8:29 neopagan | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | v Internetový marketing, SEO, reklama | 29 | 3386 | 06.12.2007 14:14 pa3ck | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Sieťové a internetové programy | 2 | 421 | 27.07.2012 16:56 mtxd | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | [ Choď na stránku: 1, 2 ] v Internetový marketing, SEO, reklama | 41 | 2897 | 22.06.2009 19:33 Tominator | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Ostatné | 1 | 436 | 19.06.2017 13:33 ado130 | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | [ Choď na stránku: 1, 2 ] v HTML, XHTML, XML, CSS | 35 | 2017 | 08.10.2009 23:08 sillyounguy | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | v PHP, ASP | 10 | 1221 | 05.09.2006 20:25 programator | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | v Ostatné | 10 | 556 | 09.01.2014 18:38 fikaps | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Redakčné systémy | 4 | 944 | 19.12.2006 23:06 JanoF | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v PHP, ASP | 1 | 517 | 29.10.2007 20:07 qacer | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | [ Choď na stránku: 1, 2 ] v PHP, ASP | 30 | 2125 | 30.06.2008 14:06 dadmtb | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v JavaScript, VBScript, Ajax | 1 | 980 | 31.08.2007 17:26 KaktusBR | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v PHP, ASP | 1 | 342 | 02.11.2012 14:05 MasterMatoSK |
|