Autor Zpráva
Šéva
Profil *
Zdravím,
měl bych dotaz ohledně uploadu souborů z jednoho serveru na druhý. Na ten druhý server se dá dostat pouze po přihlášení přes UNC cestu \\server\slozka, přihlašovací údaje znám, ale nevím, jak mám vytvořit spojení s tímto severem, abych na něj mohl nahrávat soubory a následně pak z něj vypisovat složky, soubory a mazat obsah složek...
pro upload jsem zkoušel něco takového
<style type="text/css">
p#progress_bar{
  visibility: hidden;
  text-align: center;
  margin: 0px;
  padding: 0px;
  background-color: #fff;
  border: 0px solid #ccc;
}
 


</style>

<center>
<p style="color:red"><u><b><big>Maximální velikost souboru je 1MB!!</big></b></u></p>
<br>
Koncovka souboru může být jen: 'jpg', 'jpeg', 'png', 'gif'
<br><br><br>

<script type="application/javascript;version=1.7">  
function zacitNahravani(){  
document.getElementById('progress_bar').style.visibility = 'visible';  
return true;  
} 

function konecNahravani(stav){
  document.getElementById('progress_bar').style.visibility = 'hidden';
  return true;   
}    
</script>  
  
    
<b>Vyberte umístění souboru:</b>
 <form action="" method="post" enctype="multipart/form-data" onsubmit="zacitNahravani();">   
   <input name="soubor" type="file" SIZE="40">   
   <input name="nahrat" value="Nahrát" type="submit"> 
 </form>
 
  <br>
 <p id="progress_bar">Nahrávám soubor...<br><img src="./loading.gif"><br>Neaktualizujte a neklikejte na tuto stranku ! Upload souboru může trvat i několik hodin.</p>     
 <p id="vysledek"></p> 
 
  
<?php
  
if(isset($_POST['nahrat']))
{
$request_url = "\\\upload_nas"; 
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_USERPWD, "user:password");
        curl_setopt($ch, CURLOPT_URL, $request_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
    $soubor = ($_FILES["soubor"]["tmp_name"]);
    $soubor_name = ($_FILES["soubor"]["name"]);
    $koncovky = array('jpg', 'jpeg', 'png', 'gif');

  $soubor_size = ($_FILES["soubor"]["size"]/1024)/1024;  
  
  if($soubor_name == "")
  {
      echo "<center><b>Chyba - soubor nebyl nahrán. Chyba vstupních dat</b></center><BR>";
    }
    elseif($soubor_size>1)
    {
        echo "<center><b>Chyba - soubor nebyl nahrán. Velikost překračuje 1MB.</b></center><BR>";
    }
    elseif (!in_array(strtolower(pathinfo($soubor_name, PATHINFO_EXTENSION)), $koncovky)) 
    {
    echo "<b><center>CHYBA!!</b><br>Koncovka souboru musí být jedna z: " . implode(", ", $koncovky) . ".</center>";
    }
    else
    {
   if (move_uploaded_file($soubor, "\\\upload_nas\\test\\$soubor_name"))
    {
      echo "OK";        
        
    }
    else
    {
        echo "<center><b>Chyba - soubor nebyl nahrán.</b></center><br>";
    } 
    }
curl_close($ch);
}
?>

ale pokaždé mi to skončí na této chybové hlášce
Warning: move_uploaded_file(\\upload_nas\test\prohlaseni.JPG) [function.move-uploaded-file]: failed to open stream: Invalid argument in C:\wamp\www\upload.php on line 76

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'c:/wamp/tmp\php23F4.tmp' to '\\upload_nas\test\prohlaseni.JPG' in C:\wamp\www\upload.php on line 76

Chyba - soubor nebyl nahrán.

už nevím co s tím, máte nějaké napady prosím?
Díky
Taps
Profil
Šéva:
https://bugs.php.net/bug.php?id=40163
Šéva
Profil *
nakonec jsem to vyresil pres curl a ftp...
trochu jsem se bal toho,aby kdyz zapnu moznost pripojeni pres ftp, tak se tam bude moci dat pripojit i z venci pres ftp,ale provider firewallu ma tu VLANu dobre nastavenou,takze to budu posilat tak :)
jinak jestli jsem to dobre pochopil,tak to pres UNC cesty nejde od verze 5.2.0?
jinak stavajici upload co je ted se take odkazuje pres UNC cestu a to funguje, leda, ze by byl problem primo v te funkci curl s UNC cestou...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: