[ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 24.11.2011 15:51 | XMLHttpRequest

Ahojte. Mám jednu malú triedu na upload obrázkov. V dokumente sa nachádza toto:

Kód:
...
if (isset($_GET['qqfile'])) {
            $this->file = new qqUploadedFileXhr();
} elseif (isset($_FILES['qqfile'])) {
            $this->file = new qqUploadedFileForm();
}
...


Trieda qqUploadedFileXhr je definovaná takto:
Kód:
/**
 * Handle file uploads via XMLHttpRequest
 */
class qqUploadedFileXhr {
    /**
     * Save the file to the specified path
     * @return boolean TRUE on success
     */
    function save($path) {   
        $input = fopen("php://input", "r");
        $temp = tmpfile();
        $realSize = stream_copy_to_stream($input, $temp);
        fclose($input);
       
        if ($realSize != $this->getSize()){           
            return false;
        }
       
        $target = fopen($path, "w");       
        fseek($temp, 0, SEEK_SET);
        stream_copy_to_stream($temp, $target);
        fclose($target);
       
        return true;
    }
    function getName() {
        return $_GET['qqfile'];
    }
    function getSize() {
        if (isset($_SERVER["CONTENT_LENGTH"])){
            return (int)$_SERVER["CONTENT_LENGTH"];           
        } else {
            throw new Exception('Getting content length is not supported.');
        }     
    }   
}


Vôbec tomu nechápem, o čo tam ide. Pokiaľ sa súbor nachádza vo files a nie v get (tá prvá podmienka) chápem ako sa spracuje. Ostatku kódu vôbec nechápem. Neviem či mi to treba, načo to slúži, čo to je. A nechcem mať v kóde niečo čomu nerozumiem. Takže môžete mi prosím napísať, o čo ide ? Pred tým než si o tom viac vygooglim chcem proste vedieť čo mi na to napíšete vy, napríklad či je ten kód je správny, aby sa nestalo že tomu nepochopím a budem mať v kóde nejakú dieru.


_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
 [ Príspevok: 1 ] 


XMLHttpRequest




© 2005 - 2017 PCforum, edited by JanoF