Phần mềm hữu ích với Internet
By river_711
#697200 Em làm một trang upload nhưng khi upload một file lên vidu hoahong.jpg thì sau đó link download có dạng MD5: Bấm vào đây để đăng nhập và xem link!. Làm thế nào để nó có dạng Bấm vào đây để đăng nhập và xem link! ạ. Code gốc nó thế này đây
PHP Code: <?php 

class FileUploader { 
    private $fileTypesAllowed; 
    private $fileSizeMax; 
    private $uploadDir; 
    private $files; 
     
    /* 
    Function: Create FileUploader object 
    Arguments: 
        $fileTypesAllowed: types of files allowed, separated by commas(,) 
        $fileSizeMax: max size of file upload in Kb 
        $uploadDir: path to directory where files go to, ended with trailing slash (/) 
    */ 
    function __construct($fileTypesAllowed = 'jpg, jpeg, gif, png', $fileSizeMax = 1024, $uploadDir = 'files/') { 
        $this->fileTypesAllowed = strtolower($fileTypesAllowed); 
        $this->fileSizeMax = $fileSizeMax; 
        $this->uploadDir = $uploadDir; 
    } 
    /* 
    Function: Show form upload 
    */ 
    function showFormUpload() { 
        echo ' 
        <script type="text/javascript"> 
            function addFile() { 
                var br = document.createElement("br") 
                var newInput = document.createElement("input"); 
                newInput.name = "filesUpload[]"; 
                newInput.type = "file"; 
                newInput.size = "40"; 
                document.getElementById("list").appendChild(br); 
                document.getElementById("list").appendChild(newInput); 
            } 
            function wait() { 
                document.getElementById("wait").innerHTML = "Please wait while uploading..."; 
            } 
        </script> 
        <form action="'.htmlentities($_SERVER['PHP_SELF']).'" method="post" enctype="multipart/form-data" onsubmit="wait()"> 
            <input type="hidden" name="MAX_FILE_SIZE" value="'.($this->fileSizeMax * 1024).'"> 
        <p align="center">File size max for upload: <b>'.$this->fileSizeMax.' Kb</b>, File types allowed: <b>'.$this->fileTypesAllowed.'</b></p> 
            <table cellspacing="0" cellpadding="5"> 
                <tr><td width="40%"><b>Choose file for upload:</b><br><a href="javascript:void(0)" >Add more files to upload</a></td><td id="list" width="60%"><input name="filesUpload[]" type="file" size="40"></td></tr> 
            </table> 
            <p align="center"><input type="submit" name="submit" value="Upload file(s)"></p> 
        </form> 
        <div id="wait"></div>'; 
    } 
    /* 
    Function: Get file upload and set file name and file type 
    */ 
    function getFilesUpload($files) { 
        $j = 0; 
        $this->files = array(); 
        for ($i = 0; $i < count($files['name']); $i++) { 
            if (trim($files['name'][$i]) != '') { 
                $this->files[$j]['name'] = trim($files['name'][$i]); 
                $this->files[$j]['tmp_name'] = $files['tmp_name'][$i]; 
                $this->files[$j]['error'] = $files['error'][$i]; 
                $this->files[$j]['type'] = $files['type'][$i]; 
                $this->files[$j]['ext'] = strtolower(substr($this->files[$j]['name'], strrpos($this->files[$j]['name'], '.') + 1)); 
                $this->files[$j]['newName'] = $this->uploadDir.md5_file($this->files[$j]['tmp_name']).'.'.$this->files[$j]['ext']; 
                $j++; 
            } 
        } 
    } 
    /* 
    Function: Get total files upload 
    */ 
    function getTotalFiles() { 
        return count($this->files); 
    } 
    /* 
    Function: Check error while uploading 
    */ 
    function checkUploadProcess($i) { 
        switch ($this->files[$i]['error']) { 
            case UPLOAD_ERR_INI_SIZE: 
            case UPLOAD_ERR_FORM_SIZE: 
                echo '<div id="error">File <u>'.$this->files[$i]['name'].'</u> is too big, please choose again</div>'; 
                return false; 
            case UPLOAD_ERR_PARTIAL: 
                echo '<div id="error">Error while uploading file <u>'.$this->files[$i]['name'].'</u> , please try again</div>'; 
                return false; 
        } 
        return true; 
    } 
    /* 
    Function: Check file type 
    */ 
    function checkFileType($i) { 
        if (strpos($this->fileTypesAllowed, $this->files[$i]['ext']) === false) { 
            echo '<div id="error">File type of file <u>'.$this->files[$i]['name'].'</u> is not allowed, please choose again</div>'; 
            return false; 
        } 
        return true; 
    } 
    /* 
    Function: Move file to destination folder 
    */ 
    function moveFile($i) { 
        if ([email protected]_exists($this->files[$i]['newName'])) { 
            if ([email protected]_uploaded_file($this->files[$i]['tmp_name'], $this->files[$i]['newName'])) { 
                echo '<div id="error">Cannot save file <u>'.$this->files[$i]['name'].'</u> on server, try again</div>'; 
                return false; 
            } else { 
                echo '<div id="successful">File <u>'.$this->files[$i]['name'].'</u> has been uploaded OK</div>'; 
            } 
        } else { 
            echo '<div id="warn">File <u>'.$this->files[$i]['name'].'</u> already exists</div>'; 
        } 
        return true; 
    } 
    /* 
    Function: Return link to uploaded file 
    */ 
    function getLink($i) { 
        $path = dirname($_SERVER['PHP_SELF']); 
        if ($path == '' || $path == '/' || $path == '\\') { 
            $path = ''; 
        } 
        $link = 'http://'.$_SERVER['SERVER_NAME'].$path.'/'.$this->files[$i]['newName']; 
        $return = "<table><tr><td><b>Link to file:</b></td><td><input type=\"text\" onclick=\"this.select()\" value=\"$link\" size=\"80\"></td></tr>"; 
        if (strpos($this->files[$i]['type'], 'image') !== false) { 
            $link = '[img]'.$link.'[/img]'; 
        } else { 
            $link = '[url='.$link.']Download File[/url]'; 
        } 
        $return .= "<tr><td><b>BBCode:</b></td><td><input type=\"text\" onclick=\"this.select()\" value=\"$link\" size=\"80\"></td></tr></table>"; 
        return $return; 
    } 

?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
    <title>Image Uploader</title> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <meta name="description" content="Upload one or multiple files to server, handle for errors, generate direct links and BBCode.">
    <meta name="keywords" content="upload file, file uploader, php uploader, upload, file, images, upload images"> 
    <style type="text/css"> 
        body { 
            font: normal 13px Arial, Heltical, sans-serif; 
            margin: 50; 
            text-align: center; 
        } 
        #page { 
            width: 600px; 
            margin: 0 auto; 
        } 
        table { 
            font: normal 13px Arial, Heltical, sans-serif; 
        } 
        h2 { 
            font: bold 22px Verdana, Heltical, sans-serif; 
            color: #a69; 
            margin: 20px; 
        } 
        #wait, #error, #successful, #warn { 
            font-size: 16px; 
        } 
        #error { 
            color: red; 
        } 
        #successful { 
            color: green; 
        } 
        #warn { 
            color: orange; 
        } 
    </style> 
</head> 
<body> 
    <div id="page"> 
<table> 
<tr> 
<td> 

        <h2>Dich vu tai len</h2> 
        <?php 
        $fileUploader = new FileUploader('jpg, jpeg, gif, png, txt, exe, rar, doc, xls, mp3', 5000, 'files/'); 
        $fileUploader->showFormUpload(); 
        if (isset($_POST['submit'])) { 
            $fileUploader->getFilesUpload($_FILES['filesUpload']); 
            if ($fileUploader->getTotalFiles() > 0) { 
                for ($i = 0; $i < $fileUploader->getTotalFiles(); $i++) { 
                    if ($fileUploader->checkUploadProcess($i) && $fileUploader->checkFileType($i) && $fileUploader->moveFile($i)) { 
                        echo $fileUploader->getLink($i); 
                    } 
                } 
            } else { 
                echo '<div id="error">Please choose at least one file before upload</div>'; 
            } 
        } 
        ?> 
</td> 
</tr> 
</table> 
    </div> 

</body> 
</html>

Lưu ý khi sử dụng

- Gặp Link download hỏng, hãy đăng trả lời (yêu cầu link download mới), Các MOD sẽ cập nhật link sớm nhất
- Tìm kiếm trước khi đăng bài mới

Chủ đề liên quan:
Kết nối đề xuất:
Learn Synonym
Advertisement