Autor | Zpráva | ||
---|---|---|---|
zdenek Profil |
#1 · Zasláno: 29. 12. 2010, 20:48:46
ahoj, potřebuji vědět, jestli nějak jde prohledat počítač, abych našel jeden soubor.
například najít soubor neco.txt a zobrazit ho na stránce. předem děkuji. |
||
Keeehi Profil |
#2 · Zasláno: 29. 12. 2010, 20:52:58 · Upravil/a: Keeehi
zdenek:
Jestli myslíš u návštěvníkův počítač, tak to samozřejmě nejde. Jestli myslíš server, tak začni v nejvyšší složce, ke které má PHP přístup a rekurzivně prohledávej podadresáře, zda se tam ten soubor vyskytuje. Pokud si nevíš s něčím rady, ptej se konkrétně. Celé řešení ti asi nikdo psát nebude. |
||
Radovan789 Profil * |
#3 · Zasláno: 29. 12. 2010, 20:54:39
zdenek:
A pokud myslíš localhost tak to taky nejde (dřív to šlo). Jen root webu jde. |
||
zdenek Profil |
#4 · Zasláno: 29. 12. 2010, 20:54:52
ne, myslím svůj počítač. Keeehi díky za rychlou odpověď.
|
||
zdenek Profil |
#5 · Zasláno: 29. 12. 2010, 20:56:13
chci to, že když někdo klikne na tlačítko PROHLEDAT, tak program začne hledat, a najde ten soubor.
|
||
Keeehi Profil |
#6 · Zasláno: 29. 12. 2010, 20:57:19 · Upravil/a: Keeehi
Radovan789:
Já mám jako root disk C, což je celá polovina počítače :) (vynechám li externí harddisk) zdenek: To chápu, ale jestli chceš hotové řešení, tak se ho pokus vygooglit, nebo můžeš zadat práci do prací a zakázek. |
||
zdenek Profil |
#7 · Zasláno: 29. 12. 2010, 21:01:25 · Upravil/a: zdenek
Keeehi:
„To chápu, ale jestli chceš hotové řešení, tak se ho pokus vygooglit, nebo můžeš zadat práci do prací a zakázek.“ ne, já bych chtěl jen vědět, jak na to. poté už to nějak "sesmolím" :-). |
||
Keeehi Profil |
#8 · Zasláno: 29. 12. 2010, 21:37:24
|
||
zdenek Profil |
#9 · Zasláno: 29. 12. 2010, 22:02:16
Keeehi:
dobře, možná jsem to trochu podcenil. prosím o malou radu. A předem promiň. :-) |
||
zdenek Profil |
#10 · Zasláno: 29. 12. 2010, 22:42:21 · Upravil/a: zdenek
možná bych měl to trochu upřesnit, jde o to:
1) Uživatel zastrčí flashku se souborem (např.) vstup.txt 2) Stiskne tlačítko "PROHLEDAT" 3) Program najde soubor, vezme z něj data a zapíše do tabulky 4) Uživatel porovná věci v tabulce, s tím, co chtěl vidět a odhlásí se. Víte někdo, jak to udělat? |
||
WertriK Profil |
#11 · Zasláno: 29. 12. 2010, 23:22:07
zdenek:
Nejdůležitější bude najít ten flash disk - po každé může mít jiné jméno a cestu. http://stackoverflow.com/questions/642266/fetch-the-list-of-shared-drives-using-php-on-windows Budu ti fandit. |
||
Keeehi Profil |
#12 · Zasláno: 30. 12. 2010, 00:44:32
zdenek:
Důležitá je ta část: Program najde soubor, vezme z něj data a zapíše do tabulky. Jaký program, kde se vezme, jaká tabulka, kde je umístěná? Jak jsem psal výše, ten člověk s flashkou ji musel strkat do servru a navíc PHP by k ní musel mít přístup. Nejjednodušší by bylo, kdyby ten uživatel měl trochu více práce. Místo na prohledat by klikl na odeslat a pře tím by normálně ten soubor sám našel (prostě normální upload). |
||
zdenek Profil |
#13 · Zasláno: 30. 12. 2010, 10:41:12
čím víc hledám, tím spíš si myslím, že to nejde. chtěl bych to udělat, s tou flashkou, ale asi to nejde. nevíte v jakém jiném jazyce, než v php to jde?? předem díky za odpověď.
|
||
zdenek Profil |
#14 · Zasláno: 30. 12. 2010, 11:15:12
rozhodl jsem se, že to udělám trochu jinak, ale nefunguje mi tento kód. nevíte proč?
<?php $odesli = $_POST[odesli]; if (isset($odesli)) { $soubor=$_POST[soubor]; if (!$ukazatel = fopen($soubor,r )) { echo "Soubor nelze otevrit."; } else { fpassthru($ukazatel); } } else { ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <title>New document</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> </head> <body> <form method=post ENCTYPE="multipart/form-data" action="<?echo $_SERVER["PHP_SELF"]?>> <input type=file name=soubor> <input type=submit name=odesli value=Odeslat> </form> </body> </html> <?php } ?> |
||
Keeehi Profil |
#15 · Zasláno: 30. 12. 2010, 16:10:02 · Upravil/a: Keeehi
1) nepoužívej short open tags (místo <? použij <?php)
2) ř. 2,5 indexy polí si obal do uvozovek (") nebo do apostrofů ('). Takto to je bráno jako konstanta. 3) i když se formulář odesílá jako post, soubor není v poli $_POST, ale v poli $_FILES (On ani není přímo v tom poli. V tom poli je uložen jeho původní název, dočasný název, velikost, typ a "úspěšnost nahrání") <?php if(!empty($_POST["odesli"])){ if ($_FILES["soubor"]["error"] == UPLOAD_ERR_OK) { $nahrat_do = '/slozka/pro/nahrani'; $docasne_jmeno = $_FILES["soubor"]["tmp_name"]; $puvodni_jmeno = $_FILES["soubor"]["name"]; move_uploaded_file($docasne_jmeno, "$nahrat_do/$puvodni_jmeno"); } else echo "Soubor se nepodařilo nahrát. ($_FILES[soubor][error])"; } else { ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <title>New document</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> </head> <body> <form method=post ENCTYPE="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>> <input type=file name=soubor> <input type=submit name=odesli value=Odeslat> </form> </body> </html><?php } ?> |
||
zdenek Profil |
#16 · Zasláno: 30. 12. 2010, 19:38:44
tento kód nefunguje. pořád mi to podtrhává. nevím co s tím.
|
||
Keeehi Profil |
#17 · Zasláno: 30. 12. 2010, 20:20:52
zdenek:
„tento kód nefunguje. pořád mi to podtrhává. nevím co s tím.“ To jsme se toho zase dozvěděli. Co se kde podtrhává? Chtělo by to více popsat, pokud to hlásí nějakou chybovou hlášku, tak ji napsat. Na řádku 21 mi chyběl na konci středník, možná to je ta chyba. |
||
zdenek Profil |
#18 · Zasláno: 30. 12. 2010, 20:29:32
Keeehi:
„Co se kde podtrhává?“ <?php !empty($_POST["odesli"]){ if ($_FILES["soubor"]["error"] == UPLOAD_ERR_OK) { $nahrat_do = '/slozka/pro/nahrani'; $docasne_jmeno = $_FILES["soubor"]["tmp_name"]; $puvodni_jmeno = $_FILES["soubor"]["name"]; move_uploaded_file($docasne_jmeno, "$nahrat_do/$puvodni_jmeno"); } else echo "Soubor se nepodařilo nahrát. ($_FILES[soubor][error])"; } else { podtrhává se !empty($_POST["odesli"]){ |
||
Keeehi Profil |
#19 · Zasláno: 30. 12. 2010, 20:35:11
Jo, vypadlo mi tam if.
V [#15] jsem to už upravil. |
||
zdenek Profil |
#20 · Zasláno: 30. 12. 2010, 20:39:56
nechce se to tam nahrát. nevíš, čím to je?
|
||
Keeehi Profil |
#21 · Zasláno: 30. 12. 2010, 23:41:24
zdenek:
A jak bych to měl asi vědět? Píše to nějakou chybovou hlášku? Nejde to odeslat? Soubor se nechce nahrát? Je moc možností, proč to nejde. Zkus se podívat, jestli vůbec soubor přijde: print_r($_FILES); Za další bych zkusil ověřit zadanou cestu. Zkuste: $nahrat_do = '.'; |
||
zdenek Profil |
#22 · Zasláno: 31. 12. 2010, 12:48:47
Keeehi:
„Píše to nějakou chybovou hlášku?“ ne nepíše. a to ostatní, nevím co znamená. |
||
xmark Profil |
#23 · Zasláno: 31. 12. 2010, 14:18:49
zdenek:
Od začátku se snažíš o něco dost podivného. Jestli správně čtu, neobjasnils, jestli chceš soubor nahrávat někam na svůj web na internetu, nebo ho chceš najít na lokálu. Jestli ho chceš hledat u sebe na počítači, co s ním plánuješ dál? Nahrávání někam na web? Nepřipadá ti trochu zvláštní spouštět u sebe na počítači php jen proto, aby ti našlo soubor a někam poslalo? K čemu to je? |
||
zdenek Profil |
#24 · Zasláno: 31. 12. 2010, 15:55:50
xmark:
koukej, původní myšlenka byla, že uživatel na počítači, na kterém bude i ten php skript zastrčí flash disk do počítače a zmáčkne tlačítko PROHLEDAT. Poté php skript spustí vyhledávání, které najde soubor (ríkejme mu pokus.txt) Poté, co tento soubor najde, tak z něj vytáhne data, porovná je a zapíše do tabulky (později by tam byla i barevná odlišnost). Uživatel by si tato data prohlédl a stiskl tlačítko ZNIČIT. Poté by tento soubor byl odpojen, a uživatel by si mohl vzít svou flashku zpět. A já nevím, jak prohledat počítač, abych našel ten soubor pokus.txt. další problém bude vybrat tyto data z tabulky a zapsat je tam. nevím, jaký oddělovač použít. |
||
xmark Profil |
#25 · Zasláno: 31. 12. 2010, 16:06:48
zdenek:
Chceš prostě použít php k něčemu, k čemu se ani trochu nehodí. Doporučoval bych najít někoho, kdo ti to vyrobí v čemkoliv desktopovém. |
||
zdenek Profil |
#26 · Zasláno: 31. 12. 2010, 16:12:36
xmark:
„Doporučoval bych najít někoho, kdo ti to vyrobí v čemkoliv desktopovém.“ co je to v "něčem"? nějakém jazyce? a jakém? |
||
Keeehi Profil |
#27 · Zasláno: 31. 12. 2010, 16:15:11
zdenek:
Třeba C++ |
||
xmark Profil |
#28 · Zasláno: 31. 12. 2010, 16:16:57
zdenek:
Nevím. Já jsem kdysi začal a skončil s Visual Basicem 6. Troufám si říct, že bych to v něm zvládl napsat za dvě hodiny, jedinou neznámou je to, čemu obecně říkáš "databáze". Resp. to, jestli by to sloužilo je té aplikaci. |
||
zdenek Profil |
#29 · Zasláno: 1. 1. 2011, 13:27:21 · Upravil/a: zdenek
xmark, Keeehi:
šlo by to i v JAVĚ? |
||
Keeehi Profil |
#30 · Zasláno: 1. 1. 2011, 14:40:02
zdenek:
Ano. |
||
Téma pokračuje na další straně.
|
0