Upload i download w PHP z ort! MySQL

0

Witam panowie. Jestem początkujący i nie wiem jak zabrać się do sprawy. Chcę zrobić stronkę z wykorzystaniem skryptów PHP. Chcę aby można było dodawać i pobierać pliki na serwer lokalny (localhost). Stronka ma mieć możliwość wyszukiwania plików <ort>wedłóg </ort>pewnych ort!, króre będą powiązane z danym plikiem w tabeli MySQL. Proszę o pomoc.

Pozddrawiam
JaroMus

0

a z czym konkretnie jest problem ??
zapisujesz plik na serwerze http://pl2.php.net/manual/pl/features.file-upload.php
a do bazy zapisujesz dodatkowe informacje dotyczace tego pliku

0

Konkretnie chodzi mi o to jak <ort>skojażyć </ort>bazę danych z danym plikiem. Nie wiem czy po jakiejś zmiennej $id_files czy po <ort>ścieszce </ort>c:\www\download [???]

0

mezesz po sciezce lub po samej nazwie pliku tylko musisz uwazac zeby nie powtorzyly ci sie 2 takie same nazwy, ja aby tego uniknac lasuje nazwy plikow md5...
md5(uniqid(rand(), true)); a prawdziwe nazwy zapisuje w bazie

0

Niestety nazwy plików się powtarzają i nie mam na to wpływu. Pliki te są to programi do maszyn CNC. Ich nazwa składa się z liczb i <ort>rozszeżenia </ort>.ISO Musi jeszcze istnieć możliwość żeby pare rekordów bazy do wyszukiwania były powiązane z jednym plikiem np. nazwa1, nazwa2, nazwa3 powiązana z plikiem 0000001.iso W takim przypadku jak to zrobić [???]

// omg, uzywaj słownika - Ł

0

Tworzysz dwie relacyjne tabelki.

0

Możesz podać przykład.

0

jedna tabela bedzie zawierala po prostu szukane nazwy i identyfikatory wierszy drugiej tabeli zawierajacej juz nazwy lub pelne sciezki z nazwami do plikow czyli wygladaloby to tak:

Tabela nazwy: CREATE TABLE nazwy (nazwa_id int not null, plik_id int not null, nazwa char(32) not null, primary key(nazwa_id));
Tabela pliki: CREATE TABLE pliki (plik_id int not null, sciezka char(255) not null, primary key(plik_id));

tabela pliki:

(plik_id, sciezka)
1, 'c:\gdziestam\jakis.iso'
2, 'c:\gdziesindziej\inny\jakis2.iso'

tabela nazwy:

(nazwa_id, plik_id, nazwa)
1, 1, 'nazwa1'
2, 1, 'nazwa2'
3, 2, 'nazwa3'

itd...
jak widzisz plik_id jest to element wspolny obu tabel nie musi sie tak samo nazywac nazwalem go tak samo ale tak jest pozniej latwiej zidentyfikowac relacje pomiedzy tabelami. uzywajac odpowiednie zapytanie ktore tak naprawde dopiero ta relacje wykorzystuje dla nazwa1 i nazwa2 otrzymasz sciezka do pliku 'c:\gdziestam\jakis.iso' a dla 'nazwa3' sciezke: 'c:\gdziesindziej\inny\jakis2.iso' mechanizm jest bardzo prosty.

przykladowe zapytanie wykorzystujace relacje:
SELECT sciezka FROM pliki, nazwy WHERE nazwa='nazwa1' and pliki.plik_id=nazwy.plik_id;

oczywiscie to jest proste zapytanie mozna ulozyc rowniez zapytanie uzywajac bardziej zlozonej skladni lub tez uzywajac LIKE dzieki czemu bedziesz mogl porownywac tylko czesc nazwy a nie dokladna jej skladnie

0

THX

1 użytkowników online, w tym zalogowanych: 0, gości: 1