Php 从我的表单创建缩略图时出错

Php 从我的表单创建缩略图时出错,php,mysql,Php,Mysql,我有一个问题,我的脚本创建一些缩略图的图像/照片,用户可以从我的个人网站上传的形式 首先,在使用了所有可能的控件来防止任何可能的攻击之后,我使用一些PHP函数重命名了从用户上传的照片,然后我想将我的登录用户(以及我在这里使用的日志函数)以前上传的图像/照片显示为缩略图,这样他就有可能点击它们,并通过这种方式获得原始尺寸的照片 我遇到的问题是缩略图,我无法创建 我通过以下方式在MySql数据库中创建了一个新表: CREATE TABLE uploaded (id_file INT(11)

我有一个问题,我的脚本创建一些缩略图的图像/照片,用户可以从我的个人网站上传的形式

首先,在使用了所有可能的控件来防止任何可能的攻击之后,我使用一些PHP函数重命名了从用户上传的照片,然后我想将我的登录用户(以及我在这里使用的日志函数)以前上传的图像/照片显示为缩略图,这样他就有可能点击它们,并通过这种方式获得原始尺寸的照片

我遇到的问题是缩略图,我无法创建

我通过以下方式在MySql数据库中创建了一个新表:

CREATE TABLE uploaded
    (id_file INT(11) UNSIGNED NOT NULL AUTO_INCREMENT
     url_file VARCHAR(50) NOT NULL,
     name_file VARCHAR(100) NOT NULL,
     type_file VARCHAR(20) NOT NULL,
     description VARCHAR(255),
     notes TEXT,
     data_insert DATETIME NOT NULL,
     address_IP CHAR(15) NOT NULL,
     username VARCHAR(20) NOT NULL,
     id_user INT(11) NOT NULL,
     PRIMARY KEY(id_file)
    );
echo '<img src="thumb.php?id_file=' . $row['id_file'] . '" alt="' . $row['id_file'] . '" /> 
<br /><br /><br />';    
然后,我在PHP中创建了一个名为vision.PHP的文件,向用户显示他的图像,该文件以如下方式解析查询字符串中的另一个文件:

CREATE TABLE uploaded
    (id_file INT(11) UNSIGNED NOT NULL AUTO_INCREMENT
     url_file VARCHAR(50) NOT NULL,
     name_file VARCHAR(100) NOT NULL,
     type_file VARCHAR(20) NOT NULL,
     description VARCHAR(255),
     notes TEXT,
     data_insert DATETIME NOT NULL,
     address_IP CHAR(15) NOT NULL,
     username VARCHAR(20) NOT NULL,
     id_user INT(11) NOT NULL,
     PRIMARY KEY(id_file)
    );
echo '<img src="thumb.php?id_file=' . $row['id_file'] . '" alt="' . $row['id_file'] . '" /> 
<br /><br /><br />';    
等等

谢谢大家

第一个错误是最重要的 “无法打开流:没有这样的文件或目录”意味着您的代码找不到该文件。可能是因为文件的相对路径没有按预期进行扩展

尝试使用
var\u dump(realpath($filename))
如下:

case 'jpg' || 'jpeg': 
    $filename = 'uploaded/' . $row['nome_file'] . '.' . $row['tipo_file'];
    var_dump(
         file_exists($filename),
         realpath($filename),
         is_readable($filename)
    );
    $image = imagecreatefromjpeg($filename);
    break;
您可能会注意到
文件\u存在
realpath
可读
产生
布尔值(false)

用于测试、错误报告和显示 尝试将实际缩略图生成代码与数据库读取代码分离。硬编码一个文件名,并查看缩略图生成是否适用于该文件名


还可以尝试使用
错误报告(E_ALL)
ini\u集('display\u errors',TRUE)
能够读取PHP可能发送的任何错误。

请详细说明您看到的错误。感谢您的回答,但我已经使用了您提到的两个函数,正如您在我编写错误报告(-1)的脚本中看到的那样;这与error_reportin(E_ALL)相同。然后我尝试('display_errors',TRUE);但是我什么也看不到。我尝试了你的代码,我也认为,它向我显示了错误,但我在vision.php中什么也没有得到。我只是在错误日志文件中看到了相同的错误,那就是:[Sun Jul 07 18:45:10.878066 2013][:error][pid 2667][client 127.0.0.1:56751]PHP警告:imagecreatefromjpeg(上传/046CCD6F930959786F7F2ECF228D814481EB40481889D9EA6191A153CB12F585BBAE867A66.jpeg):无法打开流:在第44行的/opt/lampp/htdocs/new_site_local/thumb.php中没有这样的文件或目录,请参考:[。我真的不知道我能做些什么来解决这个问题。再见
case 'jpg' || 'jpeg': 
    $filename = 'uploaded/' . $row['nome_file'] . '.' . $row['tipo_file'];
    var_dump(
         file_exists($filename),
         realpath($filename),
         is_readable($filename)
    );
    $image = imagecreatefromjpeg($filename);
    break;