Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]wysyłanie plików na server
Forum PHP.pl > Forum > Przedszkole
maxis88
witam! nie wiem dlaczego, ale mam problem ze skryptem do wysylania plikow na server ... na moim lokalnym serwerze wszystko działa bez zarzutow i plik zostaje wysłany tam gdzie trzeba ... jednak jak wrzucam na publiczny server to nic sie nie dzieje ( nawet błędów nie ma )...

funkcja wycięta z kodu więc może brakowac jednego nawiasu klamrowego ale to nie o to tu chodzi ;P moglibyscie mi powiedziec co jest w nim nie tak ?

function wyslij_plik(){
global $userfile, $WINDIR;


$rodzaj=array("gif"=>"Obraz GIF", "jpg"=>"Obraz JPG", "jpeg"=>"Obraz JPEG");
$domyslny_folder="./obrazy";
if(!file_exists($domyslny_folder)){mkdir($domyslny_folder);}

if(isset($WINDIR)) $userfile=str_replace("\\\\", "\\", $userfile);

$filename=basename($userfile);

foreach($rodzaj as $roz=>$opis){
if (ereg("$roz", $filename)){
if ($rodzaj[$roz]){
$fileextension=$rodzaj["$roz"];}}
}



if(!@copy($userfile, "$domyslny_folder/$filename")){
echo "Nie mogę skopiować pliku $filename na $userfile.";}else{echo "<script>alert('Udane przeslanie pliku')</script>";
echo "<script>history.go(-1);Wroc</script>";
}



}
potreb
Nie wiem skąd wziąłęś ten kod ale wygląda strasznie. Poszukaj na forum upload plików - move_uploaded_file
maxis88
sam go zrobilem ;P może dlatego wygląda strasznie biggrin.gif
potreb
Do wysyłania plików służy funkcja move_uploaded_file w manualu masz nawet przykłady zastosowania. Zrób testy i zobaczysz, że nie taki wilk straszny.

Stosuj dla kodu bbcode php bo ciężko się czyta.

Prosty przykład. Poczytaj też o tablicy $_FILES, żebyś wiedział co do czego.
  1. <?php
  2.  
  3. if(isset($_FILES['uploaded'])){
  4. $target = "galleries/".basename($_FILES['uploaded']['name']) ;
  5. print_r($_FILES);
  6.  
  7. if(move_uploaded_file($_FILES['uploaded']['tmp_name'],$target)) echo "OK!";//$chmod o+rw galleries
  8.  
  9. }
  10. else{
  11. echo "<form enctype='multipart/form-data' action='CodeTool.php' method='POST'>";
  12. echo "File:<input name='uploaded' type='file'/><input type='submit' value='Upload'/>";
  13. echo "</form>";
  14. }
  15.  
  16. ?>
maxis88
ok dzięki za pomoc smile.gif jutro się tym zajme doglębniej i w razie czego napisze co ewentualnie mnie boli ;P

nie wiem czy robie coś źle, ale zamieniłem mój stary kod na ten co podałeś z małymi zmianami kosmetycznymi jak np inny folder docelowy jednak wyświetla mi bląd ;/

Array ( [uploaded] => Array ( [name] => aparaty-cyfrowe-lustrzanki-canon-eos-400d-18-55-dc-kit-p27609.jpg [type] => image/jpeg [tmp_name] => /usr/export/tmp/phpoybjPx [error] => 0 [size] => 24482 ) ) OK!

powinienem coś w tym kodzie konkretnie zmienić? czy wina tkwi w czymś innym ?
artur_dziocha
to nie jest błąd tylko wyswitlona tablica $_FILES.
usun to
  1. <?php
  2. print_r($_FILES);
  3. ?>
maxis88
heh faktycznie winksmiley.jpg umknęła mi ta linijka winksmiley.jpg
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.