Autor Zpráva
Richard
Profil *
Ahoj chlapi, mám tenhle kód a nefunguje mi to. Nevíte, kde je chyba? Dokonce mi ani nezavolá php skript, takže si myslím, že bude problem v JS.
U formuláže <form> musím zadávat action a podobné věci, když to už mám v js request.setRequestHeader("Content-Type", "multipart/form-data"); ?

<!DOCTYPE html>
<html>
<head>

<script type="text/javascript">
<!-- hide me from older browser
   function upload ()
   {
       var request = null;       
            
       if (window.XMLHttpRequest)       
           request = new XMLHttpRequest();      
       else       
           request = new ActiveXObject("Microsoft.XMLHTTP");               
       
       
       if (request)
       {
           var file = document.getElementById("picture2");
     
           /* Create a FormData instance */
           var formData = new FormData();
           /* Add the file */ 
           formData.append("picture2", file.files[0]);

           request.open("post", "saveFile.php", true);
           request.setRequestHeader("Content-Type", "multipart/form-data");
           request.send(formData);  /* Send to server */       
          
           request.onreadystatechange = function()
           {
              //if everything is ok the results will showed here
              if(request.readyState == 4 && request.status==200)
              {
                  document.getElementById("myDiv").innerHTML = request.responseText;                   
              }
           }                       
       }
       else
       {
            alert("Sorry, you must update your browser before seeing Ajax in action.");
       }
   }
      
   //show me -->
</script>

</head>
<body>
<form  > <!-- method="post" enctype="multipart/form-data"  action="aaa.php" -->
  <input type = "file" name = "picture2">
  <input type="button" value="Save" onclick="upload();"> 
</form>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
  
     

</body>
</html>

<
<?php

//saveFile.php

include "./function.php";

echo "Control print.";

//saveFileToServer ($nameFileForm, $pathToFolder, $YourWantedNamePicture )
//saveFileToServer ('picture2', "c:/xampp/htdocs/247WorldFun.com/PicturesSaved/", "id_5" );

   $pathToFolder = "c:/xampp/htdocs/247WorldFun.com/PicturesSaved/";
   $YourWantedNamePicture = "id5";
   if( is_uploaded_file($_FILES['picture2']['tmp_name']) )
   {    
       $result_file = move_uploaded_file($_FILES['picture2']['tmp_name'], $pathToFolder.$_FILES['picture2']['name']);
       if (rename ($pathToFolder.$_FILES['picture2']['name'], $pathToFolder.$YourWantedNamePicture.".jpg"))
       {
           if ($result_file == 1) 
           {               
               echo "everithing is ok.";
           }        
       }        
   }
   else
   {
      echo "There was an error uploading file.";    
   }

?
indijanek
Profil
V jakém je to prohlížeči? Například IE<10 objekt FormData nepodporuje a js tím pádem vyhučí na chybě.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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