上传到mySQL并使用SimpleImage PHP?

时间:2011-12-26 19:34:30

标签: php mysql

我希望这是一个简单的,我使用mySQL和php使用此代码将图像上传为BLOB类型:

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);
    }

这一切都正常,插入数据库和一切。然后我想使用SimpleImage:http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/在上传之前对图像执行一些调整大小和压缩工作。我看不出如何结合说:

include('SimpleImage.php');
      $image = new SimpleImage();
      $image->load($_FILES['userfile']['tmp_name']);
      $image->resizeToWidth(150);
      $image->output();

使用我现有的代码,我认为我想要做的就是获得$ content成为$ image,但我已经尝试了一段时间而无法找到一种方法。任何帮助非常感谢。

对所有喜欢圣诞节和TIA的人来说,快乐的圣诞节。

1 个答案:

答案 0 :(得分:1)

您正在将已调整大小的图像输出到浏览器(::output()),但您没有保存它。如果要将其存储在数据库中,则需要先更改临时文件,例如使用::save()的{​​{1}}函数。

接下来,您写道要在上传之前在浏览器中调整图片大小。使用PHP无法做到这一点,但仅限于支持该功能的javascript和浏览器。另外,PHP端的上传处理可能会有所不同。但是我不确定你是否真的认为在上传之前图像已经调整

我的另一个想法是使用输出缓冲区:

SimpleImage