maxis88
25.03.2009, 20:17:50
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
25.03.2009, 20:20:30
Nie wiem skąd wziąłęś ten kod ale wygląda strasznie. Poszukaj na forum upload plików - move_uploaded_file
maxis88
25.03.2009, 20:22:28
sam go zrobilem ;P może dlatego wygląda strasznie
potreb
25.03.2009, 20:26:34
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.
<?php
if(isset($_FILES['uploaded'])){ $target = "galleries/".basename($_FILES['uploaded']['name']) ;
}
else{
echo "<form enctype='multipart/form-data' action='CodeTool.php' method='POST'>"; echo "File:<input name='uploaded' type='file'/><input type='submit' value='Upload'/>"; }
?>
maxis88
26.03.2009, 19:17:11
ok dzięki za pomoc

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
26.03.2009, 19:21:54
to nie jest błąd tylko wyswitlona tablica $_FILES.
usun to
<?php
?>