![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 23.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam skrypt do uploadu plikow na serwer. Nazywa sie Upload Manager. Fajny skrypt, dziala niezle, mozna usuwac, dodawac pliczki na serwer. Niestety ten skrypt zapisuje pliki z atrybutami 600 i potem nie moge nic z tym zrobic. Jedynie skasowac ponownie managerem uploadu. [php:1:e3342d696d]<?php if (!empty( $_SERVER["PHP_SELF"] )) $PHP_SELF = $_SERVER["PHP_SELF"]; require( "inc/upload_manager.class.php" ); $my_upload_manager = new upload_manager(); $my_upload_manager->um_list["um0815"]["base_dir"] = "img"; $my_upload_manager->um_list["um0815"]["return_url"] = "$PHP_SELF?do=upload"; $my_upload_manager->um_list["um0815"]["files_for_upload"][".gif"] = "ico_gif.gif"; $my_upload_manager->um_list["um0815"]["files_for_upload"][".jpg"] = "ico_jpg.gif"; $my_upload_manager->um_list["um0815"]["files_for_upload"][".html"] = "ico_html.gif"; $my_upload_manager->um_list["um0815"]["files_for_upload"][".htm"] = "ico_html.gif"; $my_upload_manager->um_list["um0815"]["max_file_size"] = 1000000; $my_upload_manager->show("um0815"); if ($do == "upload" ) { $my_upload_manager->um_list["um0815"]["return_url"] = "$PHP_SELF?do=upload_routine"; echo "".$my_upload_manager->link("um0815","UploadManager","_blank")."<br>"; } ?>[/php:1:e3342d696d] to kod pliku glownego ale korzysta jeszcze z pliku upload_manager.class.php [php:1:e3342d696d]<?php class upload_manager { var $um_list = array(); var $base_dir = ""; var $file_types = ""; var $max_file_size = ""; function prepare_file_check() { $keys = array_keys( $this->um_list[$this->um_key]["files_for_upload"] ); $this->filecheck_uploads = ""; $fe = true; foreach ($keys as $key) { if ($fe) { $this->filecheck_uploads .= $key . '$'; $fe = false; } else $this->filecheck_uploads .= "|".$key.'$'; } $this->max_file_size = $this->um_list[$this->um_key]["max_file_size"]; } function file_upload() { global $PHP_SELF, $HTTP_GET_VARS, $HTTP_POST_VARS, $_FILES; if ( $_FILES['file1']['error'] == 1 ) { echo "Za duży rozmiar pliku!<br>"; exit; } if ( empty( $_FILES['file1']['tmp_name'] ) ) { echo "Nie wybrano pliku! '".$_FILES['file1']['name']."'...<br>"; exit; } if (!ereg( $this->filecheck_uploads, strtolower($_FILES['file1']['name'] ) ) ) { echo "Niedozwolony typ pliku!<br>"; exit; } if ( !move_uploaded_file( $_FILES['file1']['tmp_name'], $this->base_dir . '/' . $_FILES['file1']['name'] ) ) { echo "Error uploading '".$_FILES['file1']['name']."'...<br>"; exit; } else { echo $_FILES['file1']['name']. "was sucessfully uploaded...<br>"; echo '<meta http-equiv="refresh" content="0;URL='.$PHP_SELF."?jum_do=show&$um_key=$this->um_key">n"; } } function file_remove() { global $PHP_SELF, $HTTP_GET_VARS, $HTTP_POST_VARS; if ( !empty( $HTTP_POST_VARS["selected_file"] ) ) $selected_file = $HTTP_POST_VARS["selected_file"]; else { echo "Nie wybrano pliku do usunięcia<br>"; exit; } $working_dir = @dir( $this->base_dir ); $count = 1; $options_str = ""; while ( $entry = $working_dir->read() ) { if (!is_dir($entry) ) { $fak = md5( $count.$entry ); if ($fak == $selected_file) { echo "Plik usunięty: $entry...<br>"; if ( !unlink( $this->base_dir.'/'.$entry )) { echo "could not remove<br>"; } else { echo "$entry was removed!"; echo '<meta http-equiv="refresh" content="0;URL='.$PHP_SELF."?jum_do=show&$um_key=$this->um_key">n"; } } $count++; } } } function uploadform() { global $PHP_SELF; $working_dir = @dir( $this->base_dir ); $count = 1; $options_str = ""; $i = 0; while ( $entry = $working_dir->read() ) { if (!is_dir($entry) ) { $fak = md5( $count.$entry ); $options_str .= ' <option class="line_color'.($i%2).'" value="' . $fak .'">' . $entry . "</option>n"; $count++; } $i++; } $return_url = $this->um_list["um0815"]["return_url"]; echo <<<UPLOADFORM <script language="JavaScript" type="text/javascript"> function send_data( selection ) { var thisform = document.upload_form; thisform.method = "post"; if ( selection == "upload" ) { thisform.action = "$PHP_SELF?jum_do=upload"; } if ( selection == "delete" ) { thisform.action = "$PHP_SELF?jum_do=delete"; } if ( selection == "exit" ) { thisform.action = "$return_url"; } thisform.submit(); } </script> <form name="upload_form" method="post" enctype="multipart/form-data"> <table cellspacing="0" cellpadding="0" bordercolor="#000000" border="0" align="center"> <tr> <td> <table width="100%" border="0" cellpadding="2" cellspacing="2"> <tr valign="top" bgcolor="#c0c0c0"> <td> <select name="selected_file" size="20">$options_str</select> </td> <td> <input type="button" name="delete" value="Usuń plik" onclick="send_data(this.name)" style="WIDTH: 100px"> </td> </tr> <tr valign="top"> <td><br> <br> <br> <br> </td><td></td> </tr> <tr valign="top" bgcolor="#c0c0c0"> <td> <input type="file" name="file1" style="WIDTH: 400px"> <input type="hidden" name="MAX_FILE_SIZE" value="$this->max_file_size"> </td> <td> <input type="button" name="upload" value="Dodaj plik" onclick="send_data(this.name);" style="WIDTH: 100px"> </td> </tr> </table> </td> </tr></table> </form> UPLOADFORM; } function link( $um_key, $link_title, $link_target ) { global $PHP_SELF; $xs_link = '<a href="'.$PHP_SELF."?jum_do=show&um_key=$um_key">".$link_title.'</a>'; return $xs_link; } function show( $um_key ) { global $HTTP_GET_VARS; if (!empty( $HTTP_GET_VARS["jum_do"] ) ) $this->do = $HTTP_GET_VARS["jum_do"]; else $this->do = "nothing"; if ( !empty( $HTTP_GET_VARS["um_key"] ) ) $this->um_key = $HTTP_GET_VARS["um_key"]; else $this->um_key = $um_key; if ($this->do != "nothing") { $this->prepare_file_check(); echo "<div>n"; if ( empty($this->um_list[$this->um_key]["base_dir"] ) ) { echo "Error </b><br>"; exit; } $this->base_dir = $this->um_list[$this->um_key]["base_dir"]; if (!$folder = @dir( $this->base_dir )) { echo "Error<br>"; exit; } switch ($this->do) { case "show" : $this->uploadform(); break; case "delete" : $this->file_remove(); break; case "upload" : $this->file_upload(); break; } echo "</div>n"; exit; } } } ?>[/php:1:e3342d696d] Nie wiem czy da sie to ustawic, ja niestety nie potrafie ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:01 |