Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Upload zdjęć
Forum PHP.pl > Forum > Przedszkole
Dapi
Witam.
Robię do własnego użytku upload zdjęć na serwer.
Wszystko działa, ale nie tak pięknie jakbym chciał sad.gif

Zamiast takiego zdjęcia:
KLIK
Na serwer wysłane zostaje takie:
KLIK

Mój kodzik (nie jest szczególnie rozbudowany, ale chodzi mi o to, żeby to proste było winksmiley.jpg)
  1. $plik_tmp = $_FILES['plik']['tmp_name'];
  2. $plik_nazwa = $_FILES['plik']['name'];
  3. $u_plik = $_FILES['plik']['tmp_name'];
  4. $u_nazwa = $_FILES['plik']['name'];
  5. $u_n_nazwa = md5(crypt(base64_encode(time())))."".$u_nazwa;
  6. $u_rozmiar = $_FILES['plik']['size'];
  7. move_uploaded_file($u_plik, "../foto/$u_n_nazwa");



Wie ktoś w czym tkwi problem?
Rewil
Zawsze tak jest? Bo to wygląda jak by ci całego zdjęcia po prostu nie przerzuciło.
Dapi
Zawsze. Zmieniają się tylko kolorki winksmiley.jpg
Jeszcz jedno, i jeszcze jedno...
Zawsze w tym samym momencie zaczynają się problemy...
Rewil
  1. if(is_uploaded_file( $u_plik)) {
  2. move_uploaded_file( $u_plik, "../foto/$u_n_nazwa");
  3. echo "Wysłany";
  4. }else{
  5. echo "Wystapił bład z uploadem obrazka";
  6. }


Jeszcze opcja może być taka że to zdjęcie możesz mieć uszkodzone, spróbuj wgrać inne ;].
Dapi
Inne wychodzą tak samo:
Tak jest, a tak powinno ;(

Poza tym nie może być uszkodzone, bo jak wrzucam przez klienta FTP to jest ok.

po wstawieniu podanego kodu wyświetla mi że wysłano,a do zdjęcia i tak zostały dodane nie za ciekawe efekty specjalne sad.gif
foto
Rewil
  1. $plik_tmp = $_FILES['plik']['tmp_name'];
  2. $plik_nazwa = $_FILES['plik']['name'];

To do czego jest? Masz dalej w kodzie pod innymi zmiennymi.

Pokaż jeszcze formularz do tego.
Dapi
Aj, jedno zostało ze starego kodu. Myślałem, ze to jego wina, ale jak widać nie.
Formularz:
Kod
       $parse['page'] = '<div>'.$error.'
                         <form enctype="multipart/form-data"  name="foto" action="index.php?mode=foto&amp;akcja=dodaj"  method="POST">
                         <table style="width: 397px; height: 197px; margin: 0pt auto;" summary="">
                             <tbody>
                               <tr>
                                 <td><small><small>Nazwa zdjęcia:</small></small></td>
                                 <td><input style="width: 247px;" name="nazwa" tabindex="1"></td>
                               </tr>
                               <tr>
                                 <td><small><small>Opis zdjęcia:</small></small></td>
                                 <td><textarea tabindex="2" style="width: 247px;" name="opis"></textarea></td>
                               </tr>
                               <tr>
                                 <td><small><small>Tagi zdjęcia:</small></small></td>
                                 <td><input style="width: 247px;" name="tagi" tabindex="3"></td>
                               </tr>
                               <tr>
                                 <td><small><small>Kategoria:</small></small></td>
                                 <td><select style="width: 247px;" name="tagi" maxlength="15" tabindex="4">'.$opcje.'</select></td>
                               </tr>
                               <tr>
                                 <td><small><small>Zdjęcie:</small></small></td>
                                 <td><input style="width: 247px;" name="plik" tabindex="5" type="file"></td>
                               </tr>
                               <tr>
                                 <td colspan="2" style="text-align: center;"><button tabindex="6">DODAJ ZDJĘCIE</button></td>
                               </tr>
                             </tbody>
                           </table>
                         </form>
                         </div> ';
Rewil
Spróbuj gołe dać, bez tabelek i bez niczego.

  1. <form enctype="multipart/form-data" action="<?=$_SERVER['REQUEST_URI']?>" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="50000" />
  3. <input name="plik" type="file" />
  4. <input type="submit" name="send" />
  5. </form>
  6.  
  7. <?
  8.  
  9. if($_POST['send']){
  10. $plik_tmp = $_FILES['plik']['tmp_name'];
  11. $plik_nazwa = $_FILES['plik']['name'];
  12. $plik_rozmiar = $_FILES['plik']['size'];
  13.  
  14. if(is_uploaded_file($plik_tmp)) {
  15. move_uploaded_file($plik_tmp, "../foto/$plik_nazwa");
  16. echo "Wysłałem";
  17. }
  18. }
  19. ?>
  20. </body>
  21. </html>
outsider
masz dostep to folderu /tmp ? Domyslnie w nim uploaduja sie pliki.
Jesli tak to wykasuj z formularza skrypt php, tylko zeby byl formularz. Wyslij zdjecie i sprawdz w folderze /tmp nowo utworzony plik, utworz go i jesli wyglada zle to wina lezy po stronie serwera (chociaz ja bym jeszcze sprobowal z innej przegladarki), a jesli wyglada dobrze to wina lezy po stronie skryptu.
Dapi
Rewil, nic to nie daje sad.gif
*OuTSideR*, mam dostęp.
Zostawiłem sam formularz, wywaliłem move_uploaded_file( $u_plik, "../foto/$u_n_nazwa");
ale w tmp po wysłaniu formularza nic się nie pojawiło
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.