Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Pomoc w naprawieniu skryptu do uploadu plików na serwer
Forum PHP.pl > Forum > Przedszkole
aleo
Witam zrobiłem formularz i skrypt do uploadu plików na serwer ale coś nie tak
formularz
  1. <?php
  2. <FORM METHOD="POST" ACTION="upload.php" >
  3. <INPUT TYPE="file" NAME="plik"><BR>
  4. <INPUT TYPE="submit" VALUE="Przesłanie pliku">
  5. </FORM>
  6. ?>


Skrypt
  1. <?php
  2. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  3. move_uploaded_file($_FILES['plik']['tmp_name'],
  4. "tmp");
  5. }
  6.  
  7. ?>


Co jest nie tak ?
wookieb
Kod
<form action="upload.php" method="POST" enctype="multipart/form-data">
aleo
kurczę zrobiłem tak jak kazałeś
wyskakuje teraz komunikat
CODE
Warning: move_uploaded_file(tmp) [function.move-uploaded-file]: failed to open stream: Is a directory in /var/www/php_05/listing 4/upload.php on line 4



Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpzkIJkg' to 'tmp' in /var/www/php_05/listing 4/upload.php on line 4
wookieb
Ustaw chmody tych katalogow na 777 i sprawdz czy wogole te katalogi istnieja.
decha-design
wybitnie zła ścieżka do katalogu gdzie masz przesłać plik ... tmp? na pewno on nie istnieje, a jezeli istnieje to jest zła ściezka do niego ...
aleo
zrobiłem katalog ma prawa wszystko jest ok .
Problem nadal pozostaje ...
decha-design
wrzuć do tego katalogu który utworzyleś obojętnie jaki plik .php z zawartością:
  1. <?php
  2. echo $_SERVER['DOCUMENT_ROOT'];
  3. ?>
uruchom ten plik, sprawdź co zwraca, skopiuj to i wklej do kodu:

  1. <?php
  2. move_uploaded_file($_FILES['plik']['tmp_name'], "to co ci zwroci wklej tutaj");
  3. ?>


wtedy ścieżka powinna być poprawna
aleo
ok juz dobrze , tylko teraz wyskoczył inny błąd
w skrypcie upload
Parse error: syntax error, unexpected T_STRING, expecting '(' in /var/www/php_05/listing 4/upload.php on line 2
  1. <?php
  2. if(is_uploaded_file($_FILES['plik']['tmp_name']) 
  3. move_uploaded_file($_FILES['plik']['tmp_name'],
  4. "tmp/");
  5. }
  6. ?>
decha-design
spróbuj tak ..

  1. <?php
  2. if(is_uploaded_file($_FILES['plik']['tmp_name'])) {
  3. move_uploaded_file($_FILES['plik']['tmp_name'],"tmp/");
  4. }
  5. ?>
tiraeth
Najpierw to się kolego naucz czytać manual!

Cytat
bool move_uploaded_file ( string $nazwa_pliku , string $przeznaczenie )

Funkcja ta sprawdza czy na pewno plik określony przez nazwa_pliku jest prawidło uploadowanym plikiem (to znaczy, że został uploadowany przez PHPowy mechanizm uploadowania HTTP POST). Jeśli plik jest prawidłowy, to zostanie przeniesiony do nazwy pliku wskazanej przez przeznaczenie.


Czyli:
  1. <?php
  2. if ( is_uploaded_file($_FILES['plik']['tmp_name']) ) {
  3. move_uploaded_file( $_FILES['plik']['tmp_name'], 'tmp/'.$_FILES['plik']['name'] );
  4. }
  5. ?>


Drugi parametr funkcji move_uploaded_file" title="Zobacz w manualu PHP" target="_manual ma być ścieżką do nowego pliku, a nie katalogu, w którym owy plik ma się znajdować.
decha-design
też prawda ... o.O

malutkie przeoczenie, bądź duze ... jak kto woli ...
aleo
ok.
A co trzeba wstawić aby po wrzuceniu pliku na serwer pokazał się link do tego pliku ?
tiraeth
Wyświetlić link? Głupie pytanie... Całkowicie mnie tym poziomem zaskoczyłeś biggrin.gif Nie spodziewałem się tego.

  1. <?php
  2. echo '<a href="tmp/'.$_FILES['plik']['name'].'">Link do pliku</a>';
  3. ?>
decha-design
no teraz to już daleś popis ...

  1. <?php
  2. echo 'Adres do pliku: <a href="tmp/'.$_FILES['plik']['name'].'">tmp/'.$_FILES['plik']['name'].'</a>';
  3. ?>


albo coś w tym stylu ...

// @tiraeth pierwszy ^^
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.