Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Skrypt wysyłania zdjęc nie chce działać
bArT9
post 2.04.2013, 19:38:13
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Witam
Mam taki o to skrypt:

  1. <?
  2. echo "Dodaj nowe zdjęcie do bazy danych - zdjęcie to będzie można wstawić do artykułu:<br>";
  3. echo "<form method=\"post\" action=\"".$PHP_SELF.$QUERY_STRING."\" enctype=\"multipart/form-data\">";
  4. echo "Foto: <input type=\"file\" name=\"fotz\"> <input type=\"submit\" name=\"submit\" value=\"Dodaj\">";
  5. echo "</form><br><hr>";
  6.  
  7. if ($_FILES['fotz']){
  8. if(!file_exists("foto/$fotz")){
  9. echo "$fotz";
  10. move_uploaded_file($fotz,"foto/$fotz");
  11. $sciezka="foto/$fotz";
  12. $old = umask(0);
  13. chmod($sciezka, 777);
  14. umask($old);
  15. $size = getimagesize("foto/$fotz");
  16. $width= $size[0];
  17. $height= $size[1];
  18. echo "Zdjęcie zostało dodane: ".$fotz."<br><br>";
  19. echo "Aby wstawić to zdjęcie do tekstu użyj poniższego tagu HTML:<br>";
  20. echo "<textarea rows=\"3\" cols=\"60\"><img border=\"0\" scr=\"foto/$fotz\" width=\"$width\" height=\"$height\" align=\"left\"></textarea><br>";
  21. }
  22. else echo "Zdjecie juz istnieje!";
  23. }


Wgrywa on zdjęcie do folderu photo na serwerze , po czym zwraca link do wklejenia na FB czy Blogu.

Skrypt niby działa bez błedu lecz po kliknięcu dodaj ukazuję się komunikat Zdjecie juz istnieje! nie wgrywając owego zdjęcia.
Gdzie robie błąd ?
Go to the top of the page
+Quote Post
nospor
post 2.04.2013, 19:41:31
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie istnieje zmienna $fotz.... przenosze na przedszkole


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bArT9
post 2.04.2013, 19:50:09
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Czy mógłbyś mi pomóc albo bardziej nakierować co muszę zmienić aby działało ?
Go to the top of the page
+Quote Post
Bateria
post 2.04.2013, 19:54:19
Post #4





Grupa: Zarejestrowani
Postów: 129
Pomógł: 13
Dołączył: 23.11.2011

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


  1. <?
  2. echo "Dodaj nowe zdjęcie do bazy danych - zdjęcie to będzie można wstawić do artykułu:<br>";
  3. echo "<form method=\"post\" action=\"".$PHP_SELF.$QUERY_STRING."\" enctype=\"multipart/form-data\">";
  4. echo "Foto: <input type=\"file\" name=\"fotz\"> <input type=\"submit\" name=\"submit\" value=\"Dodaj\">";
  5. echo "</form><br><hr>";
  6.  
  7. if ($_FILES['fotz']){
  8. $fotz = $_FILE['fotz']['name'];
  9. if(!file_exists("foto/$fotz")){
  10. echo "$fotz";
  11. move_uploaded_file($fotz,"foto/$fotz");
  12. $sciezka="foto/$fotz";
  13. $old = umask(0);
  14. chmod($sciezka, 777);
  15. umask($old);
  16. $size = getimagesize("foto/$fotz");
  17. $width= $size[0];
  18. $height= $size[1];
  19. echo "Zdjęcie zostało dodane: ".$fotz."<br><br>";
  20. echo "Aby wstawić to zdjęcie do tekstu użyj poniższego tagu HTML:<br>";
  21. echo "<textarea rows=\"3\" cols=\"60\"><img border=\"0\" scr=\"foto/$fotz\" width=\"$width\" height=\"$height\" align=\"left\"></textarea><br>";
  22. }
  23. else echo "Zdjecie juz istnieje!";
  24. }


--------------------
Go to the top of the page
+Quote Post
bArT9
post 2.04.2013, 20:00:53
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Niestety nadal jest ten sam bład
Prosiłbym nie tylko o gotowca ale także wytłumaczenie co i jak żebym na przyszłość mógł poradzić sobie sam z takim problemem smile.gif
Go to the top of the page
+Quote Post
jakis_login
post 2.04.2013, 20:06:45
Post #6





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

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


Bo jest literówka w:
  1. $fotz = $_FILE['fotz']['name'];


($_FILES)
Go to the top of the page
+Quote Post
bArT9
post 2.04.2013, 20:11:56
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Ruszyło się o tyle , że teraz jest takie coś:

2.JPG
Warning: chmod(): No such file or directory in /home/login/public_html/foto.php on line 14

Warning: getimagesize(foto/2.JPG): failed to open stream: No such file or directory in /home/login/public_html/foto.php on line 16
Zdjęcie zostało dodane: 2.JPG

Oraz wynik wypluty przez skrypt:
<img border="0" scr="foto/2.JPG" width="" height="" align="left">

Nie wypluło początku adresu serwera powinno być:<img border="0" scr="www.domena.pl/foto/2.JPG" width="" height="" align="left">
Go to the top of the page
+Quote Post
jakis_login
post 2.04.2013, 20:29:35
Post #8





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

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


Sprawdź czy wrzuciło Ci zdjęcie do tego katalogu, jeśli nie to spróbuj tak:
  1. $target_path = 'foto/'.basename( $_FILES['fotz']['name'] );
  2. move_uploaded_file($_FILES['fotz']['tmp_name'], $target_path);
Go to the top of the page
+Quote Post
bArT9
post 2.04.2013, 20:51:05
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Nie bardzo wiem w , którym miejscu podmienić kod ;/
Nie wrzucił do folderu nic ;/

Edit:
Podmieniłem to w taki sposób:

  1. <?
  2. echo "Dodaj nowe zdjęcie do bazy danych - zdjęcie to będzie można wstawić do artykułu:<br>";
  3. echo "<form method=\"post\" action=\"".$PHP_SELF.$QUERY_STRING."\" enctype=\"multipart/form-data\">";
  4. echo "Foto: <input type=\"file\" name=\"fotz\"> <input type=\"submit\" name=\"submit\" value=\"Dodaj\">";
  5. echo "</form><br><hr>";
  6.  
  7. if ($_FILES['fotz']){
  8. if(!file_exists("foto/$fotz")){
  9. echo "$fotz";
  10. $target_path = 'foto/'.basename( $_FILES['fotz']['name'] );
  11. move_uploaded_file($_FILES['fotz']['tmp_name'], $target_path);
  12. $sciezka="foto/$fotz";
  13. $old = umask(0);
  14. chmod($sciezka, 777);
  15. umask($old);
  16. $size = getimagesize("foto/$fotz");
  17. $width= $size[0];
  18. $height= $size[1];
  19. echo "Zdjęcie zostało dodane: ".$fotz."<br><br>";
  20. echo "Aby wstawić to zdjęcie do tekstu użyj poniższego tagu HTML:<br>";
  21. echo "<textarea rows=\"3\" cols=\"60\"><img border=\"0\" scr=\"foto/$fotz\" width=\"$width\" height=\"$height\" align=\"left\"></textarea><br>";
  22. }
  23. else echo "Zdjecie juz istnieje!";
  24. }


Niestety nadal ten sam komunikat o isniejącym już zdjęciu

Ten post edytował bArT9 2.04.2013, 20:54:59
Go to the top of the page
+Quote Post
jakis_login
post 3.04.2013, 19:52:48
Post #10





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

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


A gdzie masz znowu zmienną $fotz ? Lepiej przeanalizuj cały wątek jeszcze raz bo odpowiedź masz na tacy. Problem jest tak banalny, że aż szkoda o nim pisać.
Go to the top of the page
+Quote Post
bArT9
post 5.04.2013, 19:56:57
Post #11





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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



Dziękuje już nie ma błędu ale pojawił się inny problem , mianowicie po generacji kodu nie wyświetla mi obrazka , kiedy wchodzę na adres wygenerowanego pliku na serwie lub kopiuje link wygenerowany tzn:
Kod
<img border="0" scr= www.mojadomena.pl/foto/test.jpg\ width="1500" height="272" align="left">


Pojawia się taka informacja :

Kod
You don't have permission to access /foto/test.jpg on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


Proszę o pomoc
Go to the top of the page
+Quote Post
markonix
post 6.04.2013, 00:54:45
Post #12





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


  1. <img border="0" scr= www.mojadomena.pl/foto/test.jpg\ width="1500" height="272" align="left">

Już chyba patrząc na ten kod można się domyśleć że coś nie tak... Pełno błędów i literówek, przestarzały html, błędna ścieżka.

  1. <img src="http://www.mojadomena.pl/foto/test.jpg" width="1500px" height="272px" class="left" />
(border zero powinien być ustawiony domyślnie dla wszystkich img w css).

Ten post edytował markonix 6.04.2013, 00:56:02


--------------------
Go to the top of the page
+Quote Post
bArT9
post 6.04.2013, 10:04:33
Post #13





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Jasne masz rację ale to nie rozwiązuje mojego problemu z tym komunikatem:

  1. You don't have permission to access /foto/test.jpg on this server.
  2.  
  3. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Go to the top of the page
+Quote Post
markonix
post 6.04.2013, 10:57:06
Post #14





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Pokaż aktualny, dokładny kod zwracany przez skrypt (chodzi głównie o ścieżkę do pliku).
Co do drugiego błędu brakuje pliku (zwykle html) z formatką błędu 404 - zwykle, gdy nic nie popsujesz powinien być gdzieś w głównym folderze.


--------------------
Go to the top of the page
+Quote Post
bArT9
post 6.04.2013, 12:11:03
Post #15





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Scieżka do pliku wygenerowana przez skrypt

  1. <img border="0" src="http://domena.pl/foto/27.jpg" width="500" height="250" align="left">


Wklejam ów kod do html i nic się nie dzieję , następnie kopiuję
  1. http://domena.pl/foto/27.jpg

I wywala ten błąd co zawsze


Dziwne jest to , że wgrywam plik 27.jpg przez ftp do tego samego folderu i działa normalnie oO


Ten post edytował bArT9 6.04.2013, 12:13:22
Go to the top of the page
+Quote Post
markonix
post 6.04.2013, 12:15:07
Post #16





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Otwarcie pliku w przeglądarce wyświetla ten błąd?
Upewnij się że chmody są prawidłowe i po prostu ścieżka (i jeżeli występuje to czy nie ma żadnych reguł w htaccess) jest prawidłowa (zobacz na FTP czy ten plik jest tam faktycznie).

edit: no to chmody (bo rozumiem, że plik przez skrypt też jest wgrywany prawidłowo).

Ten post edytował markonix 6.04.2013, 12:15:35


--------------------
Go to the top of the page
+Quote Post
bArT9
post 6.04.2013, 12:21:02
Post #17





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.04.2013

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


Hihi smile.gif No i działa exclamation.gif
Teraz mam 2 problemy jak zrobić aby poniżej był wyświetlany sam link do zdjęcia
i jak założyć blokadę do 5mb na zdjęcie ?

czy to będzie odpowiednie :
  1. if (filesize($fotz) > 5*1024*1024) // błąd


Ten post edytował bArT9 6.04.2013, 19:52:58
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: 22.06.2025 - 21:35