Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Upload Zdjęc -Problem
Forum PHP.pl > Forum > Przedszkole
gummmibear
  1. <?php
  2. "<h1>Dodaj Zdjecie</h1>
  3.        <form enctype='multipart/form-data' action='upload.php' accept='image/jpeg,image/gif' method='POST'>
  4.                <input type='hidden' name='MAX_FILE_SIZE' value='40000000'>
  5.                Submit file:<input name='userfile' type='file' >
  6.        <input type='submit' value='Submit'>
  7.        </form>";
  8. ?>


Upladuje sobie zdjecie na serwer, wszystko gra, ładnie sie zapisuje

  1. <?php
  2. move_uploaded_file($filetemp,$filename);
  3. ?>


Niestety w zaden sposob nie moge wyswietic zapisanego obrazka, gdy chce otworzyc z adresu url
dostaje błąd 403 Forbiden.

Gdy natomiast sciagne plik z serwera, otwiera sie w krzaczkach, jesli otworze za pomoca irfanview wszystko ok, zdjecie wyswietla.

Problem z kodowaniem pliku?
piotrooo89
chmod" title="Zobacz w manualu PHP" target="_manual to do pierwszego.
gummmibear
  1. <?php
  2. move_uploaded_file($filetemp,$filename);
  3. chmod($filename, 0644);
  4. ?>


nadal błąd 403 ;[
potreb
Pokaż cały kod. Co nam z jednej funkcji?

Możliwe, że plik jest uszkadzany podczas wysyłania lub problem serwera.
Fifi209
Nie chodzi o chmod pliku który zapisujesz, tylko o skrypt którym to robisz. winksmiley.jpg I o folder w którym to robisz (gdyż musisz mieć prawa do zapisu)
potreb
Nie na wszystkich serwerach tak jest, a dlaczego plik php musi mieć chmod?? Rozumiem, że folder, aczkolwiek to nie reguła.
decha-design
plik php (skrypt) nie musi mieć odp. uprawnień o.O' tzw. nie 777 ^^ czy tam 775
gummmibear
Wczytanie pliku. photoupload.php
  1. <?php
  2.        ob_start();
  3.        session_start();
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <title>Dodaj Zdjecie</title>
  10. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  11. <link href="../style/style-admin.css" rel="stylesheet" type="text/css" />
  12. <!--[if IE]>
  13. <link href="style/style-ie.css" rel="stylesheet" type="text/css" />
  14. <![endif]-->
  15. </head>
  16. <body>
  17. <center>
  18. <?php
  19. echo   "<h1>Dodaj Zdjecie</h1>
  20.        <form enctype='multipart/form-data' action='upload.php' accept='image/jpeg,image/gif' method='POST'>
  21.                <input type='hidden' name='MAX_FILE_SIZE' value='40000000'>
  22.                Submit file:<input name='userfile' type='file' >
  23.        <input type='submit' value='Submit'>
  24.        </form>";
  25.  
  26. ?>
  27. </center>
  28. </body>
  29. </html>
  30. <?php
  31.  
  32.        ob_end_flush();
  33.  
  34. ?>



Zapis pliku. upload.php
  1. <?php
  2.        ob_start();
  3.        session_start();
  4. ?>
  5.  
  6. <?php
  7.        $filename=$_FILES['userfile']['name'];
  8.        $filetype=$_FILES['userfile']['type'];
  9.        $filetemp=$_FILES['userfile']['tmp_name'];
  10.        echo $filename;
  11.        echo "<br />";
  12.        echo $filetype,"<br />",$filetemp;
  13.        $jpg= ".jpg";
  14.  
  15.        
  16.  
  17.        move_uploaded_file($filetemp,$filename);
  18.        chmod($filename,0644);
  19.  
  20.  
  21.  
  22. ?>
  23.  
  24. <?php
  25.        ob_end_flush();
  26. ?>



plik na serwerze sie zapisuje, wiec prawa do zapisu sa? czy źle rozumuję?
piotrooo89
  1. <?php
  2. chmod($filename, 0777);
  3. ?>
gummmibear
  1. <?php
  2. chmod($filename, 0777);
  3. ?>

nadal to samo, 403 FORBIDEN.
a prawa do pliku nadało ;[
piotrooo89
a katalog? ma poprawnie nadane?
potreb
No nie. Po co próbujecie ustawić dla pliku chmod 777? Dla plików jest chmod max 666 dla katalogów 777.
Zrobiłem testy u siebie i wszystko działało. Na jakim hostingu testujesz??

U mnie np nie pokazywało grafiki bo hotlinkowanie było coś rypnięte.

Nie ma katalogu. Wysyła do tego samego w którym jest skrypt. Może lepiej jakiś ustawić?
drake88
Proszę nadać chmod dla katalogu (777)
gummmibear
Witam.

Problem nie leżał po stronie praw do pliku. Lecz przydzielonej grupy.
Przy ładowaniu pliku przydzielł grupe tmp, zamiast users.

Problem rozwiązalo
  1. <?php
  2. chgrp($filename,$groupid);
  3. ?>
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.