[php] jak wyslac plik na serwer?

0

witam przeczytalem art
http://4programmers.net/faq.php?id=373
i szukalem na forum ale nie dzial mi uploda
z tego przykladu ?

jak zaladowac plik na serw ?
HELP

0
<?
if($_FILES['pliczek']['error']==0)
 {
 move_uploaded_file($_FILES['pliczek']['tmp_name'], 'd:/Program Files/EasyPHP1-7/www/cvs/'.basename($_FILES['pliczek']['name']));
 echo('Plik wgrany!');
 }
else
 {
 echo('Błąd!');
 }
?>

Tak mam u siebie zrobione i działa. 'pliczek' to nazwa inputa o typie file, 'd:/Program ........./cvs/' to ścieżka, do której ma się kopiować. (Tutaj wygląda w ten sposób, bo to skrypt używany na localhoście).

0
niuuchaczyk napisał(a)

witam przeczytalem art
http://4programmers.net/faq.php?id=373
i szukalem na forum ale nie dzial mi uploda
z tego przykladu ?

jak zaladowac plik na serw ?
HELP

Dodałem poprawki do tego FAQ'a. Teraz działa.

1

Jaki mam podac katalog ja jestem na servie BO pisze ze plik wgrany ale sie nie wgrywa hchcialbym zeby plik byl w katalogu /public_html/fotos

mam taki kod


<?

    $upload_dir = $_SERVER['DOCUMENT_ROOT'];
    $maxfilesize = 102400;

    $send = $HTTP_POST_VARS['send'];
    $userfile = $HTTP_POST_FILES['userfile']; 
    $phpself = $HTTP_SERVER_VARS['PHP_SELF'];

    if(isset($send)) {

      
if($_FILES['userfile']['error']==0)
 {
 move_uploaded_file($_FILES['userfile']['tmp_name'], '$upload_dir'.basename($_FILES['userfile']['name']));
 echo('Plik wgrany!');
 }
else
 {
 echo('Błąd!');
 }



    }

?>
<form action="<? echo $phpself ?>" method="post" enctype="multipart/form-data">
  <input type="hidden" name="MAX_FILE_SIZE" value="<? echo $maxfilesize ?>">
  <input type="file" name="userfile">
  <input type="submit" name="send" value="Wyślij plik">
</form>


i nie dzial mi :(

0

Bo linijka powinna wyglądać tak:

move_uploaded_file($_FILES['userfile']['tmp_name'], <b>$upload_dir.'/'</b>.basename($_FILES['userfile']['name']));

użycie basename nie jest konieczne, gdyż w polu 'name' jest już tylko nazwa pliku.


niuuuch napisał(a)

Jaki mam podac katalog ja jestem na servie BO pisze ze plik wgrany ale sie nie wgrywa hchcialbym zeby plik byl w katalogu /public_html/fotos

no to podajesz

$upload_dir = '/public_html/fotos';

Katalog ten musi miec prawa 777

0

a prawa ustawia sie z poziomu shella jakos tak ???na katalog
bo nie moge sie zalogoeowac przez SSH ani telnet ?
jak mam ustawic sobie prawa

0
<?

    $upload_dir = '/public_html/Fotos';
    $maxfilesize = 102400;

    $send = $HTTP_POST_VARS['send'];
    $userfile = $HTTP_POST_FILES['userfile']; 
    $phpself = $HTTP_SERVER_VARS['PHP_SELF'];

    if(isset($send)) {

      
if($_FILES['userfile']['error']==0)
 {
 move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir.'/'.basename($_FILES['userfile']['name'])); 

 }
else
 {
 echo('Błąd!');
 }



    }

?>
<form action="<? echo $phpself ?>" method="post" enctype="multipart/form-data">
  <input type="hidden" name="MAX_FILE_SIZE" value="<? echo $maxfilesize ?>">
  <input type="file" name="userfile">
  <input type="submit" name="send" value="Wyślij plik">
</form>

CZEMU TEN KOD JEST ZLY prawa katalogu Fotos sa ustawione na 777

PORSZE O POMOC :(

0

nie wnikam ale sciezka '/public_html/Fotos' wyglada na niepoprawna, powinno byc 'public_html/Fotos' bo za pewne folder public_html nie znajduje sie w glownym katalogu '/' tylko w jakims '/home/users/twoje_konto/public_html/Fotos' (no i czy na pewno Fotos z duzej litery ?)

0

Chmod możesz wykonać również przez klienta php. Na przykład Windows Commandera (podaję go jako przykład, może nie jest to najlepszy klient FTP, choć wygodny, ale po prostu w nim to robiłem i mam pewność, że się da). Po prostu w linii poleceń wpisujesz chmod <tryb> <plik>.

0
<? move_uploaded_file('/home/public_html/profil.txt', '/home/public_html/Fotos/profil.txt'); ?>

czy taki kod powinien zadzialac? bo mi nie dziala
wiem ze funkcja move_uploaded_file sprawdza czy plik byl
podany z formularaza czyli w tym wypadku nie powinno zadzialac?

0
niuuchch napisał(a)

czy taki kod powinien zadzialac? bo mi nie dziala

a czy Ty musisz zadawac pytania na ktore mozesz znalezc sam odpowiedz w czasie krotszym niz 10 sekund ?

http://pl.php.net/manual/pl/function.move-uploaded-file.php

poczytaj Manual i tyle...

0
<form method="post" action="test1.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="100000">

Wybierz plik który chcesz umieścić na serwerze:

<input type="file" name="pliczek" size="40">

<input type="submit" value="Wgraj plik">

<? echo move_uploaded_file($_FILES['pliczek']['tmp_name'],'home/public_html/Fotos/'.$_FILES['pliczek']['name']); ?>

JAK to mi nie dzial to pewnei mam cos zle pustawiane.
najgorsze jest to ze przerabialem skrypty i dzialao mi a potem prezerobilem i nie pamietam jaki skrypt dzialal . aaaa chyab sie wsciekne.

ale to wyzej powinno dzialac. moze to ktos przetestowac ?czy u niego dziala ?

0

BOZE jaka lama ze mnie.
Skrypt caly czas dzialal ku****
tylko zamiast sie jeszcze raz polaczyc z FTP zeby odswiezyc (TOTAL COMMANDER) to wychodzilem do kat wyzeej i wchodzilem do kat foty
no nieee

dzieki wszystkim za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1