PORADNA / TECHNICKÁ PODPORA
Nastavení služeb - www.nastavit.domenu.cz (změny hesel apod.)

Pro webmastery » --PHP:Příklady,řešení » PHP: file upload

PHP funkce: file upload

    Z důvodu bezpečnosti serveru je funkce copy omezena pouze na Váš adresář. Pokud chcete nahrávat soubory pomocí PHP (file upload) použijte funkci move_uploaded_file viz níže.

Pro otestování funkce upload ve Vašem ftp prostoru použijte tento postup:

  1. vytvořte pokusný soubor index.php v adresáři test a zkopírujte do něj níže uvedený text, nebo si stáhněte již vytvořený script ZDE , rozbalte jej a nakopírujte na FTP do adresáře web/test (včetně podadresářů)
  2. vytvořte testovací podadresáře tmp a soubory, pokud je nemáte již zkopírované z našeho příkladu
  3. POZOR u těchto adresářu je nutno nastavit práva pro zápis souborů tj.mod 777
    • pro LeechFTP: pravé tlačítko myši nad adresářem => Nastavit atributy => vše zaškrtnout
    • pro Total Commander: označit adresář => menu Files/Soubory => Change Attributes/Změna atributů => vše zaškrtnout
    • u ostatních FTP manžerů nutno nalézt v nápovědě
  4. vyzkoušejte spustit testovací script v internetovém prohlížeči
<?
# toto je soubor index.php v adresari web/test/


 
if ($_POST["save"] == "Nahrat soubor") {
#cesta na serveru
   $uploadpath = $_SERVER['DOCUMENT_ROOT'];

 
# adresare musi mit prava pro zapis tj.777
   $uploaddir='test/tmp/';
   $uploaddir2='test/soubory/';
 
   $uploadfile = $uploadpath.$uploaddir.$_FILES['userfile']['name'];
 
  if (move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)) {
      echo "Soubor byl presunut z ".$_FILES['userfile']['tmp_name']." do $uploadfile<br />";
 
# soubor lze nyni zkopirovat i na vice mist a pote smazat
      Copy($uploadpath.$uploaddir.$_FILES['userfile']['name'],
           $uploadpath.$uploaddir2.$_FILES['userfile']['name']);
      echo "Soubor byl zkopirovan do adresare $uploaddir2<br />";
      @unlink($uploadpath.$uploaddir.$_FILES['userfile']['name']);
      echo "Docasny soubor odstranen z $uploaddir<br />";
 
# info o nahranem souboru
      echo "<pre>
      Informace o souboru:
      ";
      print_r($_FILES);
      echo "</pre>";
   }
}
 
?>
<form name="image_edit" method="post" enctype="multipart/form-data">
<input name="userfile" type="file" />
<input name="save" type="submit" value="Nahrat soubor" />
</form>


 

© 1999-2011 Domény s.r.o., ABzone s.r.o.
Kopírování obsahu tohoto webu není dovoleno.