Autor Zpráva
seri
Profil *
Tento skript mi ukládá soubor do složk, kde je sám umístěn. Jak nastavit umístění do jiné složky? Dík

<?php
class maxUpload{
    var $uploadLocation;
    
    function maxUpload(){
        $this->uploadLocation = getcwd().DIRECTORY_SEPARATOR;
    }

    function setUploadLocation($dir){
        $this->uploadLocation = $dir;
    }
    
    function showUploadForm($msg='',$error=''){
?>
       <div id="container">
            <div id="header"><div id="header_left"></div>
            <div id="header_main">Max's File Uploader</div><div id="header_right"></div></div>
            <div id="content">
<?php
if ($msg != ''){
    echo '<p class="msg">'.$msg.'</p>';
} else if ($error != ''){
    echo '<p class="emsg">'.$error.'</p>';

}
?>
                <form action="" method="post" enctype="multipart/form-data" >
                     <center>
                         <label>File:
                             <input name="myfile" type="file" size="30" />
                         </label><br><br>
                         <label>nahraj do slozky:&nbsp;
                              <select name="slozka"> 
                              <option value="slozka-kam-se-bude-nahravat">zemepis</option>
                              <option value="slozka-kam-se-bude-nahravat">matematika</option>
                              <option value="slozka-kam-se-bude-nahravat">fyzika</option>
                              </select> 
                         </label><br>
                         <label>
                             <input type="submit" name="submitBtn" class="sbtn" value="Upload" />
                         </label>
                     </center>
                 </form>
             </div>
             <div id="footer></div>
         </div>
<?php
    }

    function uploadFile(){
        if (!isset($_POST['submitBtn'])){
            $this->showUploadForm();
        } else {
            $msg = '';
            $error = '';
            
             if (!file_exists($this->uploadLocation)){
                $error = "The target directory doesn't exists!";
            } else if (!is_writeable($this->uploadLocation)) {
                $error = "The target directory is not writeable!";
            } else {
                $target_path = $this->uploadLocation . basename( $_FILES['myfile']['name']);

                if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) {
                    $msg = basename( $_FILES['myfile']['name']).
                    " was uploaded successfully!";
                } else{
                    $error = "The upload process failed!";
                }
            }

            $this->showUploadForm($msg,$error);
        }

    }

}
?>
Bertram
Profil
Ahoj, já bych asi začal spíš z té třídy odebírat než přidávat, pokud tedy ten prefix max neznamená nějakou supertřídu.
Měla by se starat jen o to nahrátí a např. nějaký formulář by ji neměl vůbec zajímat.
Navíc syntaxe objektů zavání PHP4.
Tori
Profil
seri:
Od toho tam přeci máte metodu setUploadLocation, které předáte název cílové složky (název *musí* končit lomítkem). A pak teprv zavoláte metodu, která ty soubory uloží.

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:

0