[php] Problem z move_uploaded file

0

Mam problem z wysyłaniem pliku, u mnie wszystko działa, ale po wysłaniu na serwer mam błąd.

Kod jest taki:

```php
<?
function spr_funkcji($funkcja) { 
  if (function_exists($funkcja)) { 
  echo "Funkcja <strong>$funkcja</strong> jest dostepna na serwerze."; 
  } 
  else { 
  echo "Funkcja <strong>$funkcja</strong> nie jest dostepna na serwerze."; 
  } 
} 


function do_upload($upload_dir, $upload_url) {
global $temp_name;
global $file_name;
global $file_size;
global $result;
$file_url  = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;
$f_error=0;
//File Name Check
if ( $file_name =="") { 
  $message = "Nieprawidłowa nazwa pliku: ".$file_name;
  $f_error=1;
  return "$message";
}
//File Size Check
else if ( $file_size > 2000000) {
  $message = "Rozmiar pliku przekracza 2MB.";
  $f_error=1;
  return $message;
}
//File Type Check
else if ( $file_type == "text/plain" ) {
  $message = "Nie możesz wysyłać żadnych plików skryptowych." ;
  $f_error=1;
  return $message;
}
if ($f_error==0) {
$result  =  move_uploaded_file($temp_name, $file_path);
$message = ($result)?"Plik $file_name został wysłany." :
"<font class=\"error_01\">Wystąpiły problemy z wysłaniem pliku.</font>";
return $message;
}

}


?>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post" action="?action=add">
<input type="file" id="userfile0" name="userfile[0]" size="37" class="template_input_text">
<input type="submit" name="upload" value="Wyślij"  class="template_button_text">
</form>
<?



$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
echo "|".$url_dir."|";
$url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
echo "|".$url_this."|";

$site_name = $_SERVER['HTTP_HOST'];
$url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$upload_dir = $url_dir."images/";
$upload_url = $url_dir."/".$upload_dir;
echo "|upldir: ".$upload_dir."|";
echo "|uplurl: ".$upload_url."|";

	if ( ! $userfile[0] =="") {
	$temp_name = $userfile[0];
	$path_parts=pathinfo($userfile_name[0]);
	$my_ext='.'.$path_parts["extension"];
	$file_name = date("zHis").'0'.$my_ext;
	$file_name0=$file_name;
	$file_size = $userfile_size[0];
	$result    = "";
	$message = do_upload($upload_dir, $upload_url);
	print $message;
	if (chmod ("$url_dir/images/uploads/".date("zHis").'0'.$my_ext, 0777)) {echo "chmod ok";} else {echo "Nie można zmienić praw dostepu do pliku !";}
	print "<br>";
	}


spr_funkcji('move_uploaded_file');
?>


<b>a komunikat błędu:</b>

> Warning: move_uploaded_file(images/uploads/2212107400.gif): failed to open stream: Permission denied in /home/vhosts/moj_serwis/includes/templates/jcs_template_01.php on line 386
> 
> Warning: move_uploaded_file(): Unable to move '/tmp/phpLGHYCw' to 'images/uploads/2212107400.gif' in /home/vhosts/moj_serwis/includes/templates/jcs_template_01.php on line 386
> 
> Warning: chmod(): Unable to access images/uploads/2212107400.gif in /home/vhosts/moj_serwis/includes/templates/jcs_template_01.php on line 415
> 
> Warning: chmod(): No such file or directory in /home/vhosts/moj_serwis/includes/templates/jcs_template_01.php on line 415


<b>Czy ktoś może to ewentualnie przetestować na jakimś serwerze, bo już nie wiem czy to na wszystkich nie dziala czy tylko na tym (http://www.wagoo.com)</b>
0
jarekow2 napisał(a)

Czy ktoś może to ewentualnie przetestować na jakimś serwerze, bo już nie wiem czy to na wszystkich nie dziala czy tylko na tym (http://www.wagoo.com)

Przepraszam ze OT ale mam problem z rejestracja na to wagoo:

There is a slight problem. See instructions in red below.
Phone: Invalid character(s) entered, only numeric, space, and -.()+ are allowed.

Jaki podales format numeru telefonu ? probowalem na prawde wielu i nic ;-(

A co do tematu: czy w katalogu do ktorego chcesz uploadowac plik jest odpowiedni chmod ? bo

move_uploaded_file(images/uploads/2212107400.gif): failed to open stream: Permission denied
moglo by wskazywac ze nie...

0
piechnat napisał(a)

Jaki podales format numeru telefonu ? probowalem na prawde wielu i nic ;-(

A próbowałeś +48.[kierunek][numer] ?

0
Sheitar napisał(a)

A próbowałeś +48.[kierunek][numer] ?

nie, czegos takiego bym nie wymyslil, thx Sheitar it works :)

0

No fajnie, tylko nadaj nie wiem co jest z grane z tym wysylaniem plików. Czy ktos ma dzialajacy skrypt, zebym mogl przetestowac?

0

moze sprobuj recznie ustawic chmod katalogu na 777

0

Jagi, dzięki wielkie, hehe pomyślałem o wszystkim, tylko nie o tym, żeby zmienić chmod :D

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