php - 上传到 mySQL 并使用 SimpleImage PHP?

标签 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 的人圣诞节快乐。

最佳答案

您将调整大小后的图像输出到浏览器 (::output()) 但您并未保存它。如果要将其存储在数据库中,则需要先更改临时文件,例如通过使用 SimpleImage::save() 函数。

接下来,您写下您希望在上传之前在浏览器中调整图片大小。这不能用 PHP 来完成,而只能用支持它的 javascript 和浏览器来完成。此外,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'];
    $image = new SimpleImage();
    $image->load($_FILES['userfile']['tmp_name']);
    $image->resizeToWidth(150);
    ob_start();
    $image->output();
    $content = ob_get_clean();

    $content = addslashes($content);
    ...

关于php - 上传到 mySQL 并使用 SimpleImage PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638593/

相关文章:

php - Magento 2 - 如何覆盖 block 模板

php - jQuery Ajax;使用json发送数据有什么好处?

MYSQL - 基于其他列中公共(public)值的列的 SUM

php - 如何查询 FLOAT 值?

mysql - 表适配器列未显示在 Visual Studio 中

php - 使用 PHP 和 CSS 显示图像

php - 在 PHP 重定向期间保留 URL 参数

PHP在mysql中插入由json对象发布的数据

带有 return 语句的存储函数中的 MYSQL 异常处理

mysql - LoadError using MySQL with ruby​​ (mysql_api.so not found)