Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt wysyłania zdjęc nie chce działać
Forum PHP.pl > Forum > Przedszkole
bArT9
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 ?
nospor
Nie istnieje zmienna $fotz.... przenosze na przedszkole
bArT9
Czy mógłbyś mi pomóc albo bardziej nakierować co muszę zmienić aby działało ?
Bateria
  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. }
bArT9
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
jakis_login
Bo jest literówka w:
  1. $fotz = $_FILE['fotz']['name'];


($_FILES)
bArT9
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">
jakis_login
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);
bArT9
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
jakis_login
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ć.
bArT9

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
markonix
  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).
bArT9
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.
markonix
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.
bArT9
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
markonix
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).
bArT9
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.