Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Создание мини-галлереи для PHP-Nuke
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Без описания
TeTRos
Отправлено: 14 Марта, 2006 - 14:17:12
Post Id



Full Member


Покинул форум
Сообщений всего: 172
Дата рег-ции: Июнь 2005  
Откуда: Чусовой

Карма 0

[+]


Товарищи, помогите... Обращаюсь к Вам с надеждой. Решил сделать простенький скриптик Галереи (без использования MySQL хотябы).
Но от неопытности в подобных делах сразу стал перед вопросом: "КАК???" Недовольство, огорчение
Ну порывшись по бескрайним просторам Internet наткнулся на один интересный скриптик, модернизацией оного и решил занятся...
CODE:
<?
if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
die ("You can't access this file directly...");
}
$module_name = basename(dirname(__FILE__));
get_lang($module_name);

$pagetitle = "- Добавление изображения в архив";
global $user, $cookie, $prefix, $dbi, $user_prefix;
include("header.php");
title ("Добавление изображения в архив");
OpenTable();
echo ""._WELCOME."<BR>"
."<form ENCTYPE=\"multipart/form-data\" action=\"modules.php?mop=modload&name=Easyup&file=index\" method=\"post\">"
._FILEWAY.":<BR><input name=\"way\" type=\"file\" size=\"30\"><BR><BR>\n"
._ALTTAG.":<BR><input name=\"alt\" type=\"text\" size=\"30\" maxlength=\"40\"><BR><BR>\n"
."<input type=\"submit\" name=\"Submit\" value=\""._SEND."\">\n"
."</form><BR>\n";

// Папка, в которую будут закачиваться файлы
$imagesdir="gallerys/uploads";

// Максимальнодопустимый размер закачки изображения на сервер
$alertdimension=array(
img=>150,
);

// Проверка прав доступа для папки
function checkperms($dir)
{
$permsdir=decoct(fileperms($dir));
$perms=substr("$permsdir",-3);
if ($perms!="777")
{
echo "<div align=\"center\"><font class=\"addimage\">"._ERRORPERM." "$dir" "._ERRORPERM2."<BR>"
._PERMISSION." $perms. "._PERMISSION2."</font></div><BR>";
}
}

checkperms($imagesdir);
$chemin=$imagesdir;

$testotoobig=array(_TOOBIG,_TOOBIG1,_TOOBIG2,_TOOBIG3,_TOOBIG4,_TOOBIG5);

$nom_fichier_name = strtolower($way_name);


// Проверка типов файлов

function check_extension($way_name)
{
$extension = end(explode(".", $way_name));
if ($extension == "php" || $extension == "php3" || $extension == "php4" || $extension == "pl" || $extension == "phtml" || $extension == "asp" || $extension == "cgi")
{
return true;
}
}


// Verifie si le nom ne se nomme pas index.extension

function verif_index($way_name)
{
$pointeur = strrpos($way_name, ".");
$nom = substr($way_name, 0, $pointeur);
if (ereg ("^index$", $nom)) return true;
}

// Calculate dimensions of files and print alert message
function dimensionefiles($chemin,$way_name,$testotoobig1,$testotoobig2,$max)
{
$dimensione=filesize("$chemin/$way_name");
$fdimensione=number_format($dimensione, 0, ',', '.');
$kdimensione=number_format(($dimensione/1024), 1, ',', '.');
$mdimensione=number_format(($kdimensione/1024), 1, ',', '.');
if ($dimensione<=1023)
{
echo "<center>"._FILEIS." $dimensione "._BYTES.".</center><BR>";
}
elseif (($dimensione>1023)&&($dimensione<=1048575))
{
echo "<center>"._FILEIS." $kdimensione Kb ($fdimensione "._BYTES.").</center><BR>";
if ($kdimensione>$max) {echo "<center><font color=\"#ff0000\"><h3>$testotoobig1</h3></font>$testotoobig2</center><BR><BR>";}
}
elseif (($dimensione>1048575))
{
echo "<center>"._FILEIS." $mdimensione Mb ($fdimensione "._BYTES.").<BR>"
."<font color=\"#ff0000\"><h3>$testotoobig1</h3></font>$testotoobig2</center><BR><BR>";
}
}

// Verifie si le fichier existe sur le serveur.
function presence_file($way_name)
{
global $chemin;
if (file_exists("$chemin/$way_name")) return true;
}


// Calculate dimensions of image and print related html tag
function imagetag($chemin,$way_name,$alt)
{
global $testotoobig,$alertdimension;
$misura=getimagesize("$chemin/$way_name");
$htmlimgstring="<img src=\"$chemin/$way_name\" alt=\"$alt\" ".$misura[3].">";
echo "<center><font class=\"option\">"._TITLETAG."</font><BR><BR>\n".
"<i>"._INSTRUCTIONTAG."</i><BR>\n";
echo "<font class=\"addimage\"><blockquote><img src=\"$chemin/$way_name\" alt=\"$alt\" ".$misura[3]."></font></center><BR><BR>";
echo "<center><font class=\"option\">"._PREVIEW."</font><BR><BR>\n";
echo "".$htmlimgstring."</center>";

}


// Chmod le fichier pour en 644 pour le rendre non executable.
function chmod_no_execution($way_name)
{
global $chemin;
chmod ("$chemin/$way_name", 0644);
}


if ($way!="")
{

if (verif_index($way_name)) {
echo "<hr>";
echo ""._ERROR." 02: "._YOURFILE." "$way_name" "._REFUSE."<BR>";
echo "<hr>";
exit;
}
if(check_extension($way_name)){
$way_name = "$way_name.txt";
}

if (presence_file($way_name) == "true") {
echo "<hr>";
echo ""._ERROR." 01: "._YOURFILE." $way_name "._EXIST."<BR>";
echo "<hr>";
exit;
}

if (copy($way, "$chemin/$way_name"))
{
echo ""._YOURFILE." $way_name "._SUCCESS."<BR><p>\n";

// check file type
$imgextension = end(explode(".", $way_name));
switch ($imgextension)
{
case ("jpg"):
imagetag($chemin,$way_name,$alt);
break;
default:
otherfiles($chemin,$way_name);
}

chmod_no_execution($way_name);
}
else
{
//echo ""._ERRORPERM."<BR>";
//echo ""._PERMISSION."<p>";
//exit;
}

}

CloseTable();
include ("footer.php");

?>
Как Вы видите это модуль для PHP-Nuke, на которой создан мой последний и действующий проект. Дак вот касательно скрипта имеются следующие вопросы:
1) Как осуществить возможность ограничения максимальнодопустимого размера закачиваемых изображений? (В приведённом скрипте имеется что-то подобное, но это "что-то" не работает);
2) Как ограничить выбор типа закачиваемых изображений? (Допустим чтобы можно было загружать изображения только формата .jpg)
3) Как открывать загруженную картинку в новом окне? (В скрипте имеется функция предварительного просмотра, но она подходит для файлов с небольшой шириной)
Как альтернативу последнему можно сделать ограничение ширины и длины изображения (но опять же КАК).
Надеюсь на вашу помощь.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0285]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33