Autor | Zpráva | ||
---|---|---|---|
Darikousek Profil |
#1 · Zasláno: 28. 7. 2011, 11:34:24
Ahoj,
do nadpisu se mi nevlezlo co vlastně potřebuju. Jde o nahrání souboru na server a zapsání souboru k uživateli, který je zrovna přihlášen resp. ten uživatel, kterej je přihlášen budu vkládat ten soubor a já potřebuju, aby když se mi uloží do určité složky, aby se mi z něj vypsal jen ten soubor co tam vložil ten přihlášenej uživatel. Nevím jak na to. Poraďte mi nějakej skript. Díky. |
||
johnl Profil |
#2 · Zasláno: 28. 7. 2011, 12:09:03
Budeš si zapisovat do databáze seznam souborů, např. adresu souboru a kdo jej nahrál, soubory pak nebudeš vypisovat z adresáře ale z databáze, pak můžeš vypisovat soubory jen určitého uživatele.. ;)
|
||
Lechy Profil |
#3 · Zasláno: 28. 7. 2011, 12:11:14 · Upravil/a: Lechy
jméno souboru doporučuji ukládat s koncovkou
$search_user = MySQL_Query("SELECT * FROM uzivatele WHERE id = ".$_SESSION['ucet_id']." "); $row = MySQL_Fetch_Array($search_user); ..... .... ... <img src="images/uzivatele/<?=$row['foto'];?>" width="150" height="180"> |
||
peta Profil |
#4 · Zasláno: 28. 7. 2011, 14:19:48
FTP / SSH
Pres FTP jsi uzivatel ty a muzes nahrat soubory. Pokud mas pristup na server, muzes kazdemu uzivateli zalozit jeho slozku a vytvorit mu FTP pristup do jeho slozky. PHP / PHP + MySQL Pokud pristup na server nemas, musis si vytvorit program pro obsluhu uzivatelu a souboru, napr. v PHP + MySQL, viz johnl a Lechy. Do databaze programu pak zapises vsechno, co potrebujes. Tabulka soubory, sloupce: id, nazev, uzivatel_id, kdy nahral, kdy zmenil, popisek Tabulka uzivatele, sloupce: id, jmeno, heslo, kdy zalozil, kdy se prihlasil, popisek Pokud nechces pouzit Mysql, muzes pouzit diskovou verzi SQL lite. Pokud je ti slovo SQL nesympaticke, muzes pouzit ukladani do csv souboru (cz.php.net/fputcsv). Ale musis si pohlidat zamykani souboru flock (cz.php.net/flock). csv soubor je normalni textovy soubor s oddelovaci carka a novy radek. --- uzivatele.csv --- id, jmeno, heslo, popisek, kdy_zalozil, kdy_se_prihlasil 0, Darikousek, md5('heslo'), zelenac, 12.2.2010, 20.6.2011 1, Lechy, md5('heslo'), zelenac, 12.2.2010, 20.6.2011 FGetCSV ti z toho udela pole $a = array( 0 => array("id, jmeno", "heslo", "popisek", "kdy_zalozil", "kdy_se_prihlasil"), 1 => array("Darikousek", "md5('heslo')", "zelenac", "12.2.2010", "20.6.2011"), 2 => array("Lechy", "md5('heslo')", "zelenac", "12.2.2010", "20.6.2011"), ...); $uzivatel_jmeno = $a[1][0]; //Darikousek |
||
Darikousek Profil |
#5 · Zasláno: 28. 7. 2011, 14:29:57
ono je to složitější... já teď mám nějakej skript, kterej mi dělá že mi vypisuje všechny ty soubory a je jedno, kdo je tam nahrál a já do toho skriptu potřebuju dopsat nějak ten insert a nevím jak :( problém je, že ten skript nemůžu publikovat tady .... kdybyste na mě měl někdo chvilku ozvěte se mi na icq...prosím...děkuju
|
||
Darikousek Profil |
#6 · Zasláno: 28. 7. 2011, 22:44:23 · Upravil/a: Darikousek
Já mám v tuhle chvíli vytvořenej skript pro upload souborů do složky
<?php readfile($_FILES["filename"]["name"]); if($_FILES['filename']['error']==0) {$size = $_FILES['filename']['size']; -------------------------------------------- $slozka = dir("../upload_projekt"); while($soubor=$slozka->read()) {if ($soubor=="." || $soubor=="..") continue; echo "<a href=\"../upload_projekt/$soubor\">".$soubor."</a><br>\n";} $slozka->close(); pokud byste měli nějakej lepší jsem pro :D moc php zatím nerozumím, takže věřím, že se to dá napsat snáž než to mám já nebo intelignějc, ráda si nechám poradit. Já teď potřebuju to, co jsem uložila jako .pdf nebo .doc, aby se mi vypsalo u studenta, kterej to tam vložil. a ted nevím jak dál... mám si vytvořit tabulku, kam se bude ukládat ten soubor jako cesta, kde se najde? nějak si prostě teď nedokážu vybavit, jak by měla ta databáze vypadat. mám teď tabulku uživatele, kde jsou tyto atributy: id_uzivatele, jmeno, prijmeni, login, password, pak zda je to učitel nebo student a nevím jak to udělat, aby se to k tomu člověku, kterej je přihlášen a vložil to tam, zapsalo. Děkuju za jakoukoliv radu všem. |
||
Keeehi Profil |
#7 · Zasláno: 28. 7. 2011, 22:59:53
vytvoříš si druhou tabulku se dvěma sloupci: id_cloveka, cesta_k_souboru. Co do kterého sloupce přijde je doufám jasné.
- readfile($_FILES["filename"]["name"]); - tento řádek nedělá nic
- na přemístění uploadovaného souboru je přímo funkce move_uploaded_file() - ! Nechat uploadovat kohokoliv cokoliv je obrovská bezpečnostní díra (pokud není adresář upload_projekt neveřejný a dále omezen) - i kdyby byl, tak pozor na jména souborů jako ../zaskodnik.php
|
||
Ben Profil * |
#8 · Zasláno: 28. 7. 2011, 23:06:46
Darikousek:
co místo strtr(); a hledání všech možností nahrazení použít třeba něco takovéhoto? <?php //odstraneni diakritiky(upravena funkce od php.vrana.cz) function odstran_diakritiku($in){ $in = preg_replace('~[^\\pL0-9_]+~u', '-', $in); $in = trim($in, "-"); $in = iconv("utf-8", "us-ascii//TRANSLIT", $in); $in = strtolower($in); $out = preg_replace('~[^-a-z0-9_]+~', '', $in); return $out; } ?> u toho nastavení iconv si to možná budeš muset upravit podle verze php |
||
Keeehi Profil |
#9 · Zasláno: 28. 7. 2011, 23:20:18
Já se diakritikou vůbec nezabývám. Soubory ukládám pod jiným názvem (mnou vygenerovaným), k souborům přistupuji id v databázi, co mu přiřadím a při stahování souboru (ne přímo ale přes script, tunel) tak mu ten původní název přiřadím.
header("Content-Disposition: Attachment; filename=$ulozeny_nazev");
|
||
Časová prodleva: 5 dní
|
|||
peta Profil |
#10 · Zasláno: 3. 8. 2011, 08:02:15
- tab uzivatel -
id, jmeno, prijmeni, login, password - tab soubor - id, typ, jmeno, popisek, velikost, datum, info, uzivatel_id, uzivatel_login ... U vsech dulezitych udaju je dobre ke kazdemu "id" pridat i sloupec s textem k cemu se to vaze, ikdyz ten sloupec nevyuzijes. V pripade, ze prijdes o tabulku uzivatelu, budes umet fotky priradit spravnemu uzivateli. |
||
jenikkozak Profil |
#11 · Zasláno: 3. 8. 2011, 08:12:42
peta:
> - tab soubor - > id, typ, jmeno, popisek, velikost, datum, info, uzivatel_id, uzivatel_login ... Taby jsou v prohlížeči. Nemůžeš přestat s těmito matoucími zkratkami? Do tabulky se soubory není nutné dávat login uživatele zároveň s jeho id, zbytek sloupců závisí na tom, zda se využijí. Vzhledem k tomu, že dosud žádná tabulka se soubory nebyla, považuji jejich existenci za zbytečnou. |
||
Časová prodleva: 13 let
|
0