Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [move_uploaded_file] Oporne działanie...
Forum PHP.pl > Forum > PHP
Gaido
Pisałem nieskomplikowany skrypt uploadowania obrazów na stronę. Jak więc bóg, a może nawet kto inny nakazał zacząłem jak zwykle od formularza...

  1. <FORM name="addart" action="addart.php?type=2" method="post" enctype="multipart/form-data">
  2.     <INPUT type="text" name="art_name" value="Tytuł" id="art_name" size="15">
  3.     <INPUT type="file" name="art_file" id="art_file" >
  4.     <INPUT type="submit" name="upload" value="Dodaj obraz">
  5. </FORM>


Formularz jest, napisałem więc skrypt. Nie przedłużając zanadto wygląda jakoś tak...
  1. <?php
  2. $art_name= $_POST['art_name'];
  3. $art_tempname= $_FILES['art_file']['name'];
  4.  
  5. $imageDir="./galery/";
  6. $ImageName= $imageDir.$art_tempname;
  7. if (move_uploaded_file($_FILES['art_file']['tmp_name'], $ImageName)){
  8.     dalsza czesc kodu...
  9. }
  10. ?>


No i teoretycznie było pięknie... Plik został zuplaudowany (zaplaudowany?) i przemieszczony. Jednak nie do końca tak jak sobie zaplanowałem. O dziwo zamiast przemieścić plik do folderu "galery" znajdującego się w tym samym katalogu co skrypt, obraz został przeniesiony do folderu z skryptem. Pomyslałem, że być może
trzeba umieścić pełną  ścieżkę "D:/www/.../galery/nazwa_pliku.jpg" ale o dziwo nadal konsekwentnie mój obrazek znajdywał się w folderze z skryptem tuż obok katalogu z obrazkami. Próbowałem wariacji z kropką, itp. ale w najlepszym wypadku rezultat był
ten sam, w gorszym wywalało mi błąd. 
Literówki w nazwie folderu, itp. sprawdziłem i wykluczyłem. Myślę, że po prostu przeoczyłem coś oczywistego, ale chyba potrzebuję pomocy by sobie uświadomić konkretnie "co" graduated.gif
drPayton
Sprawdzone - działa jak należy. Gdzie indziej trzeba szukać problemów...
PS. zuploadowany tongue.gif
Gaido
Faktycznie. Cały czas patrzyłem na powyższy fragment kodu myśląc iż to w momencie przenoszenia pliku musi wystepować błąd, ignorując zupełnie inny fragment 
kodu w którym po wpisie do bazy danych zmieniam nazwę pliku na jego unikalne id.

  1. <?php
  2. $lastpicid= mysql_insert_id();
  3. $newfilename= $ImageDir.$lastpicid.$ext;
  4. rename ($ImageName, $newfilename);
  5. ?>


Przez nieznośną literówkę ($ImageDir zamiast $imageDir) powstała pusta zmienna. Nic więc dziwnego, że obrazki zapisywały 
się w folderze z skryptem. Teraz już wszystko pięknie smiga, można więc  udać się w kolejne przybydki szczęścia... Czy
jak to nazwać  guitar.gif
MMX3
czasami przez takie literówki się 4 h wpatruje człowiek w Kod i spala 2 paczki fajek... Albo X-Debug do php doinstalować i rewelacja debugger smile.gif
sanchoo
Witam!
Mam rowniez problem z upladem...
U mnie upload wyglada tak ze odpala sie skrypt cgi i wysyla pliki... ale dochodzi jeszcze komentarz ktory nalezy dodac do bazy danych..
NIe znam sie na cgi dobrze wiec zrobilem to tak: Wiadomosc z "comment" jest przesylana jako post do cgi jtam jak sie wysle plik jest zalanczana jako get i przekeirowanie do php gdzie zapisuje do bazy.... i pojawil sie problem wszystko dziala ale jesli w polu comment dam enter.. nowa linie to strona sie juz nie przeladuje :/ Mam pytanie czy przed wyslaniem mozna jakos zaminic nr2br questionmark.gif Ale koniecznie przed wysylka....
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.