Strona 1 z 1

Niedziałający uploader j-script

: 20 sie 2013, 19:02:58
autor: Venite
Hej.
Mam taki oto kodzik uploadera:

Kod: Zaznacz cały

<style>
.sucess{
color:#088A08;
}
.error{
color:red;
}
</style>

<?php
$info_file_exts = array("jpg", "jpeg", "gif", "png");
$info_upload_exts = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 1310720)
&& in_array($info_upload_exts, $info_file_exts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
    }
    else
      {
      $info_file_exts = array("jpg", "jpeg", "gif", "png");
      if($info_file_exts[0]=='jpg'){
    $ink=explode('.'.$info_file_exts[0],$_FILES["file"]["name"]); 
    $time=time();
    $info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }
    else if($info_file_exts[1]=='jpeg'){
    $ink=explode('.'.$info_file_exts[1],$_FILES["file"]["name"]); 
    $time=time();
    $info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }
    else if($info_file_exts[2]=='gif'){
    $ink=explode('.'.$info_file_exts[2],$_FILES["file"]["name"]); 
    $time=time();
    $info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }
    else if($info_file_exts[3]=='png'){
    $ink=explode('.'.$info_file_exts[3],$_FILES["file"]["name"]); 
    $time=time();
    $info_new_file_name =$ink[0].'_'.$time.'.'.$info_file_exts[0];
    }
    
    
    $info_old_file_path="img/up/" . $_FILES["file"]["name"];
    $info_new_file_path="img/up/" . $info_new_file_name;
        
         move_uploaded_file($_FILES["file"]["tmp_name"],
      "/img/up" . $_FILES["file"]["name"]);
     echo "<div class='sucess'>"."Trzymany: " . "http://serv5.cba.pl/ajaxchat/img/up/" . $_FILES["file"]["name"]."</div>";
            $name=rename($info_old_file_path,$info_new_file_path);
            echo "<img src='http://serv5.cba.pl/ajaxchat/img/up/" . $info_new_file_name."' style='width:300; height:250px;' />";
      echo "</br>Twoj plik  <b>".$_FILES['file']['name']."</b> zostal wgrany.";
      }
    }
  
else
  {
  echo "<div class='error'>Bledny plik</div>";
  }
?>
Pic polega na tym, że znajduje się on w dyrektywie /ajaxchat/. Plik jest przepuszczany, jest "sukces", ale... Pliku na serwerze nie ma mimo poprawnego komunikatu.

Ma ktoś jakiś pomysł dlaczego to nie chce działać?

Re: Niedziałający uploader j-script

: 21 sie 2013, 09:18:05
autor: rkd77
move_uploaded_file($_FILES["file"]["tmp_name"],
"/img/up" . $_FILES["file"]["name"]);

/img/up jest poza zasięgiem skryptu.
Włącz error_reporting(E_ALL);

Re: Niedziałający uploader j-script

: 21 sie 2013, 09:19:19
autor: zapiter
Sprawdzałeś prawa do zapisu?

Re: Niedziałający uploader j-script

: 21 sie 2013, 10:01:09
autor: Venite
Sprawdzałem :)
Okazuje się, że faktycznie, tak jak mówił rkd77 - było poza zasięgiem skryptu. Skrypt, choć był umieszczony w /ajaxchat/, to szukał ścieżki "od zera". więc poprawka na ajaxchat/img/up/ dała rezultat.