<?php
$file_name = $_FILES['files']['name'];
$tmp_name = $_FILES['files']['tmp_name'];
$file_size = $_FILES['files']['size'];
$file_type = $_FILES['files']['type'];
// The codes written above work fine and have proper information.
$fp = fopen($tmp_name, 'r'); // This one crashes.
$file_content = fread($fp, $file_size) or die("Error: cannot read file");
$file_content = mysql_real_escape_string($file_content) or die("Error: cannot read file");
fclose($fp);
....
我是PHP的新手。我正在尝试将jpg图像存储为数据库中的blob但是非常挣扎:(我尝试了很多教程并阅读了文档,但仍然没有运气。任何建议或教程可能会帮助我...?
答案 0 :(得分:5)
使用fopen()
打开二进制文件时,请使用rb
模式,即
$fp = fopen($tmp_name, 'rb');
或者,您可以简单地使用file_get_contents()
,例如
$file_content = file_get_contents($tmp_name);
要启用更好的错误报告,请将其放在脚本的顶部
ini_set('display_errors', 'On');
error_reporting(E_ALL);