1

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.';
    }
}
?>

前もって感謝します 。

4

1 に答える 1

1

実際のアップロードを制限する方法はありません。サーバー側のロジックでファイルの有効性をテストするには、ファイルをアップロードする必要があります。ファイル拡張子、サイズなど...

画像サイズを決定する組み込みの PHP 関数があります - http://php.net/manual/en/function.getimagesize.php

getimagesize()

getimagesize() 関数は、指定された画像ファイルのサイズを決定し、通常の HTML IMG タグおよび対応する HTTP コンテンツ タイプ内で使用されるファイル タイプおよび高さ/幅のテキスト文字列と共に寸法を返します。
...
7 つの要素を持つ配列を返します。
インデックス 0 と 1 には、それぞれイメージの幅と高さが含まれます。

ファイル拡張子を確認したら、画像に対してこの関数を呼び出して、要件に対してサイズをテストできます。

関数の出力例を次に示します。

Array ( 
  [0] => 84 // width
  [1] => 52 // height
  ... 
)
于 2012-06-05T15:43:01.363 に答える