TalkPHP

TalkPHP (http://www.talkphp.com/forums.php)
-   General (http://www.talkphp.com/general/)
-   -   Warning: fread(): supplied argument is not a valid stream resource (http://www.talkphp.com/general/2672-warning-fread-supplied-argument-not-valid-stream-resource.html)

sarmenhb 04-21-2008 05:23 AM

Warning: fread(): supplied argument is not a valid stream resource
 
what did i do wrong here?

Code:

<?php
require("config.php");
if(isset($_POST['btnupload']) && $_FILE['filetag']['size'] > 0) {


#--------------------------------------------
#        VARIABLES
#--------------------------------------------

$filename = $_FILE['filetag']['name'];
$filetype = $_FILE['filetag']['type'];
$filesize = $_FILE['filetag']['size'];
$tmp_filename = $_FILE['filetag']['tmp_name'];


#--------------------------------------------
#  Upload file to database
#--------------------------------------------

$fp = fopen($tmp_filename, 'r');
$file_content = fread($fp, filesize($tmp_filename));
$file_content = addslashes($file_content);
$filename = addslashes($filename);
fclose($fp);
#--------------------------------------------
#        Query to upload
#--------------------------------------------

$sql = "INSERT INTO tbl_upload VALUES(null,'$filename','$filesize','$filetype','$file_content')";
mysql_query("$sql");

echo "file uploaded";

}

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>

<body>

<form method="post" enctype="multipart/form-data">

<input type="hidden" name="maxfilesize" value="2000000" />
<input type="file" name="filetag" />
<input type="submit" name="btnupload" value="upload" />






</form>


</body>
</html>

here is the table description
Code:

CREATE TABLE `tbl_upload` (
  `id`      int AUTO_INCREMENT NOT NULL,
  `name`    varchar(30) NOT NULL,
  `type`    varchar(30) NOT NULL,
  `size`    int NOT NULL,
  `content`  mediumblob NOT NULL,
  /* Keys */
  PRIMARY KEY (`id`)
) ENGINE = InnoDB;

here is php.ini

Code:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "c:/wamp/tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 20M


buggabill 04-21-2008 03:50 PM

It does not appear that you are checking if your fopen succeeded. Check $fp for a false and if it does return one, that could be your problem.

freenity 04-21-2008 05:48 PM

why do you think you made something wrong?
what is the problem?
the file is uploaded?
can you insert data in the db?

Orc 04-21-2008 11:44 PM

Use file_get_content. by the way, its not $_FILE its $_FILES

sarmenhb 04-22-2008 01:16 AM

thanks orc for that, i put it as $_FILES now
and when i upload it it looks like it worked.

but i look in the table and nothing is there

so now im confused to why it wont work.

Orc 04-22-2008 01:20 AM

Quote:

Originally Posted by sarmenhb (Post 13734)
thanks orc for that, i put it as $_FILES now
and when i upload it it looks like it worked.

but i look in the table and nothing is there

so now im confused to why it wont work.

thats cause you didn't specify what columns to put the data in, like so:
Code:


INSERT INTO `table (col1,col2) VALUES('col1','col2 value');

you should add a or die(mysql_error()); to the end of mysql_query()

sarmenhb 04-22-2008 06:21 AM

i found the problem, for some reason when i took this line out

Code:

$filename = addslashes($filename);
it worked.

EyeDentify 04-23-2008 08:48 AM

You should also use:
base64_encode() on the data before putting it in the database:
PHP: base64_encode - Manual

And when you want to take it out use:
base64_decode() on the data.
PHP: base64_decode - Manual

Before you display it or download it or whatever.

Good luck.


All times are GMT. The time now is 08:55 AM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0