Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] unikalna nazwa pliku
Forum PHP.pl > Forum > PHP
edi92
yo,
mam pełny skrypt do uploadu plików na serwer. Szukam jakiegoś skryptu który by nadawal wysyłanemu plikowi unikalną nazwe. A i czy jest możliwe usuwanie nie ściągniętych plików z serwera po X dniach?
Pozdrawiam Adam.
webdice
Ad 1.
  1. <?php
  2. microtime (true)
  3. ?>


Ad 2. Tak.
edi92
Mógł byś mnie naprowadzić gdzie wstawić ten skrypt? I jak zrobić to usuwanie plików?
webdice
Przecież to proste, w 20 linijce, zaraz za drugim if'em. A teraz serio, zastanów się jak mam Ci pomóc skoro nie pokazałeś kodu?
edi92
sory juz podaje smile.gif
Kod
?>



<?php

require ('config.php');                                        # Include configuration file.
require ('common.php');                                        # Include common file with functions in.

?>


<html>
<head><title>..:: Darmowy hosting plików ::..</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<?php

echo("<link href='$skin' rel='stylesheet' type='text/css' />");

?>

</head>





<body>


<!--- HTML Submission Form Section --->

<!--- Master Table Start --->

<table class="main-table">
    
  <tr>
  <td class="main-table">
  
  
  <table class="logo-table">
  
  <tr>
  <td class="logo-table">
  
  <?php

  echo "<img src='$logo_file'>";

  ?>
  
  </tr>
  </td>
  
  </table>
  
  
  <table class="nav-table">
  
  <tr>
  <td class="nav-table">
  
  <span id="link" onclick="javascript: void(window.open('common.php?id=dirlist','','width=480,height=700,toolbar=no,menubar=no'));"> Lista plików</span>  ::  <span id="link" onclick="javascript: void(window.open('regulamin.html','','width=400,height=400,toolbar=no,menubar=no'));">Regulamin</span>  ::  <a href="http://www.efusian.co.uk/forum" target="_blank">FileFusian Forum</a>
  
  </td>
  </tr>
  
  </table>  
  
  
  
  <table class="upform-table">

  <tr>
  <td class="upform-table">
        
  <!--- Actual Form --->
  
  <form enctype="multipart/form-data" action"<?php print $PHP_SELF ?>" method="POST">
  <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo ($max_file_size); ?>">
  <input type="file" name="fupload">
  <br><br>
  <input type="submit" value="Wyslij plik">

  <br>
  </form>
Wysyłaj±c plik akceptujesz <span id="link" onclick="javascript: void(window.open('regulamin.html','','width=400,height=400,toolbar=no,menubar=no'));">regulamin!
  <!--- End Form --->
  
  </td>
  </tr>
  
  </table>


  <table class="base-table">
  
  <tr>
  <td class="base-table">

  <?php
  
  $fileaccept = "";
  if($filetype1 != "NULL")
  {
            
  $fileaccept = $fileaccept . $filetype1;
                    
  }
        
  if($filetype2 != "NULL")
  {
            
  $fileaccept = $fileaccept . ", " . $filetype2;    
                    
  }
        
  if($filetype3 != "NULL")
  {
            
  $fileaccept = $fileaccept . ", " . $filetype3;
            
  }
        
  if($filetype4 != "NULL")
  {
            
  $fileaccept = $fileaccept . ", " . $filetype4;
                        
  }
        
  if($filetype5 != "NULL")
  {
            
  $fileaccept = $fileaccept . ", " . $filetype5;
                        
  }
  
  
  $upload_size = $max_file_size/1024000;
  
  $upload_size = round($upload_size, 1);
  
  
  echo ("Twoje IP:  <font color='FF3300'> $REMOTE_ADDR </font><a href='$logfile' target='_blank'> (View Log)</a>");
  echo ("<br>");
  echo ("Maksymalna wielkosć jednego pliku:  $upload_size <B>MB</B>");
  echo ("<br>");
  echo ("Pliki obsługiwane: $fileaccept");
  
  
  ?>
  
  </td>
  </tr>
  
  </table>
  
        
        
  </td>
  </tr>
      
</table>
    
<!--- Master Table End --->


</body>
</html>
webdice
I gdzie tu masz upload plików?
Pilsener
Można też:
  1. <?php
  2. $token = md5(uniqid());
  3. ?>


Można też nazwę zlepić z aktualnego czasu i końcówki IP zioma.

Można kasować stare pliki, wystarczy prosta instrukcja warunkowa.

Sugeruję temat przenieść do przedszkola, a autorowi tematu jakiś kurs PHP by się przydał, inaczej nigdy się nie dogadamy, bo MY będziemy pisać o PHP, a Ty o uploadzie sciana.gif
edi92
Cytat
?>


<?php

/* Upload Routine */

if(isset($fupload))
{

require 'config.php';

$ext = strrchr($fupload_name,'.');

if ($ext == $filetype1 || $ext == $filetype2 || $ext == $filetype3 || $ext == $filetype4 || $ext == $filetype5)
{

/* Peform Upload Actions */

$final_path=$file_dir . "/" . $fupload_name; # Generate final path & filename.
move_uploaded_file( $fupload, $final_path ) or die ("Unable To Copy"); # Moves file.


/* Perform Post Upload Actions */

upload_report($fupload, $fupload_name, $fupload_size, $fupload_type, $file_url, $file); # Call upload report generation function.

if($logs_active == "1")
{

uplog_add($logfile, $fupload_name, $REMOTE_ADDR); # Log IP Address, FileName & Date to log file

}

}

else
{

echo '<script language="JavaScript">';

echo 'error = window.open("error.php?id=filetype","","width=350,height=235,status=no,toolbar=no,menubar=no");';

echo '</script>';

}

}

?>



<?php

/* Call Directory Listing */

if($_GET['id'] == "dirlist")
{

require ('config.php');

directory_listing($file_dir, $file_url);

}

?>



<?php

/* Upload Report Generation Function */

function upload_report($fupload, $fupload_name, $fupload_size, $fupload_type, $file_url, $file)
{

/* Javascript Popup Version */

require('config.php');

echo '<script LANGUAGE="JavaScript">';
echo 'reportwin=window.open("about:blank","reportwin","status=no,location=no,toolbar=no,directories=no,resizable=no,width=600,heig
t=400,top=100,left=100");';

echo 'reportwin.document.open();';

echo 'reportwin.document.write("<font face=verdana color=darkblue>");';
print 'reportwin.document.write("<img src=\"$logo_file\">");';

echo 'reportwin.document.close();';

echo '</script>';



/* Generate Upload Report */

echo "";
echo "<h3>Plik został wysłany</h3>";
echo '</font>';

echo "<b>Path:</b> $fupload<br>";
echo "<b>Nazwa:</b> $fupload_name<br>";
echo "<b>Wielkosć:</b> $fupload_size bytes<br>";
echo "<b>Type:</b> $fupload_type<p>";

echo "<b>Adres:</b> <a href='$file_url/$fupload_name' target='_blank'>$fupload_name</a><br>";
echo "<b>Katalog:</b> $file_dir/$fupload_name <br><br>";


}

?>



<?php

/* Add Upload To Log File */

function uplog_add($logfile, $fupload_name, $REMOTE_ADDR)
{

$fp = @fopen($logfile, a) or die("Couldn't Open Log File");

$datestamp = date("l dS of F Y");
$logentry = "$fupload_name " . "was uploaded by:" . " $REMOTE_ADDR " . "on" . " $datestamp" . "\n";

fwrite($fp, $logentry);

$fclose($fp);

}

?>



<?php

/* Directory Listing Function */

function directory_listing($file_dir, $file_url)
{

require('config.php'); # Reads in configuration file.

echo("<link href='$skin' rel='stylesheet' type='text/css' />");

$directory = opendir($file_dir); # Open Directory for reading.


echo '<center>';


echo '<table class="dirlist-main-table">';
echo '<tr><td class="dirlist-main-table">';


echo '<table class="dirlist-logo-table">';
echo '<tr><td class="dirlist-logo-table">';

echo '<center>';
echo "<img src='$logo_file'>"; # Display FileFusian logo.

echo '</td></tr>';
echo '</table>';


echo '<table class="dirlist-dirtable">';

$cssblock = "";

for($fcount = 0; $fcount < $listsize; $fcount++) # File display loop - runs until $listsize value is reached.
{

if($cssblock != "dirlist-dirtable")
{

$cssblock = "dirlist-dirtable";

}

else
{

$cssblock = "dirlist-dirtable-one";

}



$file = readdir ($directory);

if($file != "" && $file != "." && $file != "..")
{

echo "<tr><td class='$cssblock'>";

echo '<img src="down.jpg">'; # Link to download icon.

print " <a href='$file_url/$file' target='_blank'>$file</a>"; # Prints filename hyperlink to directory listing.

echo '</td></tr>';

}


}

echo '</table>';



echo '<table class="dirlist-basetable">';
echo '<tr><td class="dirlist-basetable">';

echo '<a href="java script:window.close();">Zamknij liste plików</a>';

echo '</td></tr>';
echo '</table>';



echo '</td></tr>';
echo '</table>';

}

?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.