davidjmorin Posted November 25, 2007 Share Posted November 25, 2007 Maybe you could help me on something else im trying to do. I would like to have it so that when a user uploads an item they can label it whatever they want rather then the uploaded file name such as "picture.jpg" and rename it just "fun at the beach" what would i put in my upload form and table in mysql and in the download page? here is the code upload.php <body bgcolor="black"> <form method="post" enctype="multipart/form-data"> <table width="350" border="0" cellpadding="1" cellspacing="1" class="box"> <tr> <td width="246"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> <input name="userfile" type="file" id="userfile"> </td> <td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td> </tr> </table> </form> <?php if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) { $fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; $fp = fopen($tmpName, 'r'); $content = fread($fp, filesize($tmpName)); $content = addslashes($content); fclose($fp); if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); } include 'config.php'; include 'opendb.php'; $query = "INSERT INTO upload (name, size, type, content ) ". "VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); include 'closedb.php'; echo "<br>File $fileName uploaded<br>"; } ?> and the download form whree the user submitted name will appear <? if(isset($_GET['id'])) { include 'config.php'; include 'opendb.php'; $id = $_GET['id']; $query = "SELECT name, type, size, content FROM upload WHERE id = '$id'"; $result = mysql_query($query) or die('Error, query failed'); list($name, $type, $size, $content) = mysql_fetch_array($result); header("Content-Disposition: attachment; filename=$name"); header("Content-length: $size"); header("Content-type: $type"); echo $content; include 'closedb.php'; exit; } ?> <html> <head> <title>Download File From MySQL</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <? include 'config.php'; include 'opendb.php'; $query = "SELECT id, name FROM upload"; $result = mysql_query($query) or die('Error, query failed'); if(mysql_num_rows($result) == 0) { echo "Database is empty <br>"; } else { ?> <table border="1"> <? while(list($id, $name) = mysql_fetch_array($result)) { ?> <tr><td> <a href="download.php?id=<?=$id;?>"><?=$name;?></a> </td></tr> <? } ?> </table> <? } include 'closedb.php'; ?> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/78818-adding-different-file-name-for-upload/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.