Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wgrywanie obrazków na serwer
kubek15
post 18.09.2008, 20:43:18
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


Witam.
Chcę zrobić wgrywanie zdjęć przez przeglądarkę na stronie i czy lepiej będzie robic to na bazie danych czy nie?

I jeszcze jedno mam taki scrypt.
link do niego tutaj i tam on się nazywa upload plików
i jak mam zrobic aby po wgraniu zdjęcia pisało:
Zdjęcie zostało zapisane na serwerze. Podgląd kliknij tutaj. I jak klikne to się pojawi zdjęcie.
Jak to zrobić.


--------------------
Go to the top of the page
+Quote Post
Chrom
post 18.09.2008, 20:51:52
Post #2





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Właściwie masz tam prawie wszystko co potrzebujesz, trochę podstaw php przerobić skrypt do swoich potrzeb i i już. Rada rozłóż wszystko na części pierwsze składaj cegiełki i sprawdzaj ich wykonanie. i tak krok po kroku.
  1. <?php
  2. //Sprawdzamy czy plik został wysłany
  3. if(is_uploaded_file($_FILES[plik][tmp_name][])){
  4. if($_FILES[plik][error][$i] != 0){
  5. $komunikat[] = "Wystąpił błąd podczas przesyłania pliku! Sprawdź czy plik posiada odpowiednią wagę i spróbuj ponownie! ";
  6. }
  7. if($_FILES[plik][type][$i] == "image/jpeg" ||
  8. $_FILES[plik][type][$i] == "image/png" ||
  9. $_FILES[plik][type][$i] == "image/gif"){
  10. list($width, $height ) = getimagesize($_FILES[plik][tmp_name][);
  11. if($width>800 || $height>600)
  12. {
  13. $komunikat[] .= "Za duze wymiary obrazka!";
  14. }
  15. else{
  16. $plik_nazwa = "$data"."_$i".".jpg";
  17. if(move_uploaded_file($_FILES[plik][tmp_name][$i], "upload/$plik_nazwa")){
  18. }else{
  19. $komunikat[] .=  "Wystąpił nieoczekiwany błąd podczas kopiowania pliku nr $i! ";
  20. }
  21. }
  22. }
  23. }
  24. ?>

Mam tu taki skrypt co prawda służył do ładowania kilku obrazków ale jest prostszy i łatwiej go przerobić dodatkowo mam możliwoś nazwania plików wg np kolejności

Ten post edytował Chrom 18.09.2008, 21:00:01
Go to the top of the page
+Quote Post
matssuda
post 18.09.2008, 21:02:02
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 5
Dołączył: 7.02.2008

Ostrzeżenie: (0%)
-----


Moim zdaniem to czy trzymasz w bazie danych czy na plikach to już zależy od wygody. Teraz praktycznie każdy serwer udostępnia jakaś bazę danych także nie ma z tym problemu.

Co do pytania drugiego wystarczy dodać w tej części skryptu:
  1. <?php
  2. $file=fopen('upload/'.$_FILES['file']['name'],'w');//otwieramy plik
  3. fwrite($file,$dane);//zapisujemy go w zmienionej formie
  4. echo 'Zdjęcie zostało zapisane na serwerze. Podgląd kliknij <a href="'.$sciezka_do_pliku.$file.'">tutaj</a>.' ;// komentarz po uploadzie
  5. }else{
  6.  echo 'Możliwy atak hakerski';
  7. }
  8. ?>
Go to the top of the page
+Quote Post
kubek15
post 19.09.2008, 14:00:40
Post #4





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


Dzięki pomocne okazały się wasze rady ale dalej nie mogę podglądac tego zdjęcia co wysłałem a zrobiłem wszystko jak napisał matssuda.

Nie wiem dlaczego się nie wyświetla
---------------------------------------------------------------------

Już zdjęcia się wysyłają jak wyśle plik kubek.jpg to on się zapisuje w folderze upload i jak dam pokaż podgląd tego zdjęcia to hiperłącze pokazuje upload/kubek.jpg czyli dobże i jak to klikne to pisze że nie ma takiego czegoś.

Dlaczego? Jak to zrobić? Chomod ma być 777 ?

oto mój plik którym dodaje zdjęcie
  1. <?php
  2.    if(isset($_POST['submit'])){//jeśli zatwierdzono formularz
  3.     if($_FILES['file']['error']!=0){//jeśli napotkano błąd
  4.      echo 'Nastąpił błąd przy wysyłaniu pliku';
  5.     }else{
  6.      if(is_uploaded_file($_FILES['file']['tmp_name'])){//jeśli wysłano plik
  7.       move_uploaded_file($_FILES['file']['tmp_name'],'upload/'.$_FILES['file']['name']);//przesuwamy go do odpowiedniego katalogu
  8.       $dane=strip_tags(file_get_contents('upload/'.$_FILES['file']['name']));//usuwamy tagi php i html
  9.       $file=fopen('upload/'.$_FILES['file']['name'],'w');//otwieramy plik
  10.       fwrite($file,$dane);//zapisujemy go w zmienionej formie
  11.       $plik_nazwa = 'upload/'.$_FILES['file']['name'];
  12.       echo 'Zdjęcie zostało zapisane na serwerze. Podgląd kliknij <a href="'.$plik_nazwa.'">tutaj</a>.';// komentarz po uploadzie
  13.      }else{
  14.       echo 'Możliwy atak hakerski';
  15.      }
  16.     }
  17.    }
  18.    ?>
  19.    
  20.    <form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'];?>" method="post">
  21.    <input type="file" name="file" />
  22.    <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
  23.    <input type="submit" name="submit" value="wyślij">
  24.    </form>


Ten post edytował kubek15 19.09.2008, 16:20:33


--------------------
Go to the top of the page
+Quote Post
-potrbuje pomocy-
post 20.09.2008, 09:44:19
Post #5





Goście







Yo. Ja tez potrzebuje własnie taki scrypt na dodawanie obrazków. Co jest w tym ^^up źle?
Go to the top of the page
+Quote Post
kubek15
post 20.09.2008, 10:31:42
Post #6





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


ja sprawdziłęm jedną rzecz a mianowicie jak wgram zdjecie kubek.jpg prze ftp do folderu upload to wczytuje sie normalnie, a jak wgram przez formularz to nie czyta. hiperłącze jest to sam , adres jest poprawny. dlaczego nie czyta? Wam ten skrypt działa?


--------------------
Go to the top of the page
+Quote Post
matssuda
post 20.09.2008, 16:41:32
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 5
Dołączył: 7.02.2008

Ostrzeżenie: (0%)
-----


sprawdź atrybuty przesłanego pliku. Może nie ma praw. Jak tak się okaże to do skryptu dodaj:
  1. <?php
  2. chmod($sciezka_do_pliku, 0777);
  3. ?>
Go to the top of the page
+Quote Post
kubek15
post 20.09.2008, 17:08:54
Post #8





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


Już wykombinowałem co było źle. Chmod ustawiłem i jeszcze usunołem to żeby nie usuwało tagów php i html.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 15:07