Zapis pliku do bazy danych

0

Może ktoś mi zapodać jakiś link, albo napisać dość dokładnie jak za pomocą formularza zapisać plik graficzny/tekstowy... z dysku lokalnego do bazy danych na serwerze?

Potrzebne mi coś w rodzaju kursu, nie gotowego skryptu.

EDIT:
Acha i coś jeszcze o pobieraniu danych o tym pliku (np rozdzielczości grafiki, czy ogólnego rozmiaru pliku).

0

jaki jezyk? i ogolnie w czym masz problem?

btw: trzymanie plikow w bazie to imho glupota, przynajmniej w aplikacji webowej

0

Lol całkiem zapomniałem o języku.

Chodzi o formularz online w php/html. Napisałem w bazie, ale chodzi ogólnie o zapis na serwerze + informacje o pliku (rozmiar, ścieżka itp) do bazy danych.
Chcę zrobić własną galerię na strony www i by łatwo można było uzupełniać zasoby przydałby się formularz z dodawaniem grafik. Później jeden skrypt w jakimś bloku strony, wczytywałby obrazy z bazy w to miejsce.

Pierwszy raz coś takiego robię i tak to sobie wymyśliłem, więc nie wiem czy to jest do końca poprawne, ale wydaje mi się dość logiczne.

0

Jak widzę nav nie mogłeś się powstrzymać od skorzystania z nowej stronki. Dodam tylko, że gdybym znalazł u wujka Google to czego szukam, to bym tego tematu nie zakładał.

0

Eetam, nowa czy stara :D Po prostu zawsze jakiś zamiennik dla nudnego linku google.
Dzisiaj mam dobry humor to ci wytłumaczę.

To jest kod:

<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="50000" />
<input name="plik" type="file" />
<input type="submit" value="Wyślij plik" />
</form>

Tutaj chyba wszystko jasne, formularz który inputem file przesyła nam pliczek do upload.php.

Dalej kod po stronie serwera (PHP) żeby to obsłużyć

//kess.snug.pl
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];

if(is_uploaded_file($plik_tmp)) {
     move_uploaded_file($plik_tmp, 'upload/' . $plik_nazwa);
    echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze 
    <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
} 

$plik_tmp - tymczasowa lokacja pliku na serwerze (opróżniane po zakończeniu skryptu)
$plik_nazwa - nazwa pliku np. zdjecia.rar
$plik_rozmiar - rozmiar pliku w bajtach(?)

Funkcja is_uploaded_file sprawdza czy $plik_tmp jest plikiem wrzuconym za pośrednictwem skryptu PHP (w razie jakiś konfliktów czy podmian zabezpiecza).

move_uploaded_file - przenosi wrzucony plik z lokacji z arg1 do lokacji w arg2 (z tymczasowej do wybranej stałej).

Do pobrania rozmiaru obrazka można np. użyć biblioteki GD. Do wszystkiego jest coś, wystarczy poszukać. (Dla rozmiaru obrazka proste zapytanie: http://www.tinyurl.pl?NFon9WkV )
A najlepsze jest to, że to <B>WSZYSTKO</B> jest opisane na kess.snug.pl!

0

Dzięki Monk.
Niby wszystko tam jest, ale nie wszystko jest opisane. To czego nie było, dodałeś tutaj TY, więc teraz wiem co i jak.
Jeszcze raz dzięki.

0

Nie wiem, co wpisywałeś w google, ale domyślam się, że masz alergię na manuala?

http://pl.php.net/manual/en/features.file-upload.post-method.php

Manual PHP to jeden z lepszych, jakie widziałem. Naprawdę warto sobie go poczytać, a rozwiązań problemów szukać w pierwszej kolejności tam.

0
tomkiewicz napisał(a)

Nie wiem, co wpisywałeś w google, ale domyślam się, że masz alergię na manuala?

http://pl.php.net/manual/en/features.file-upload.post-method.php

Manual PHP to jeden z lepszych, jakie widziałem. Naprawdę warto sobie go poczytać, a rozwiązań problemów szukać w pierwszej kolejności tam.

Szczególnie że jest tam opisana każda funkcja i standardem są rzeczowe przykłady dla każdej z nich.

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