swethak Posted September 18, 2008 Share Posted September 18, 2008 hi, i wrote a code to upload a resume in mysql database and download that one . But in my database name,type,size of the file stored but content of the file not stored. So in my database content filed is empty.plz tell that what's the problem in my code. <? include("db.php"); if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) { $fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmpname']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; $fp = fopen($tmpName, 'rb'); $content = fread($fp, filesize($tmpName)); $content = addslashes($content); fclose($fp); if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); } $query = "INSERT INTO upload (name, size, type, content ) ". "VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); echo "<br>File $fileName uploaded<br>"; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>New Page 2</title> </head> <body> <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> </body> </html> And i got the errors as Warning: fread(): supplied argument is not a valid stream resource in e:\project\graphic\docu.php on line 11 Warning: fclose(): supplied argument is not a valid stream resource in e:\project\graphic\docu.php on line 13 Quote Link to comment https://forums.phpfreaks.com/topic/124799-upload-the-resume-and-store-in-database/ Share on other sites More sharing options...
JasonLewis Posted September 18, 2008 Share Posted September 18, 2008 Instead of this: $fp = fopen($tmpName, 'rb'); $content = fread($fp, filesize($tmpName)); $content = addslashes($content); fclose($fp); Use file_get_contents(). $content = file_get_contents($tmpName); The problem may be the MODE of opening the file with fopen, as I've never heard of 'rb' as a MODE. Quote Link to comment https://forums.phpfreaks.com/topic/124799-upload-the-resume-and-store-in-database/#findComment-644681 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.