限制uploadify中的图片上传

时间:2012-06-05 15:40:07

标签: php html5

我使用uploadify上传图片。有没有办法限制用户上传除宽度以外的图像:670px高度:200px。  这是我的uploadify.php代码

<?php
require_once("includes/connection.php");

$targetFolder = '/workbench/sudeepc/photogallery/uploads' ; 

if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];

    // Validate the file type
    $fileTypes = array('jpg','jpeg','gif','png'); // File extensions
    $fileParts = pathinfo($_FILES['Filedata']['name']);

    if (in_array($fileParts['extension'],$fileTypes)) {
        move_uploaded_file($tempFile,$targetFile);

 $query="INSERT INTO `photo` ( `id` , `path` , `uname` )
 VALUES (
 '','${targetFile}', 'testnn');";
 mysql_query($query,$connection);


    } else {
        echo 'Invalid file type.';
    }
}
?>

提前致谢。

1 个答案:

答案 0 :(得分:1)

您无法限制实际上传 - 必须上传文件,以便您的服务器端逻辑测试其有效性 - 文件扩展名,尺寸等...

有一个内置的PHP函数来确定图像大小 - http://php.net/manual/en/function.getimagesize.php

getimagesize()
  

getimagesize()函数将确定任何给定图像的大小   文件并返回尺寸以及文件类型和a   要在普通HTML IMG标记内使用的高度/宽度文本字符串   对应的HTTP内容类型   ...
  返回一个包含7个元素的数组   索引0和1分别包含图像的宽度和高度。

检查文件扩展名后,您可以在图像上调用此函数并根据您的要求测试其尺寸。

以下是函数的示例输出 -

Array ( 
  [0] => 84 // width
  [1] => 52 // height
  ... 
)