Jump to:
Screenshot
Attributes
Files
<?php
if ($_FILES["uploadfile"]["size"] > 1048576) {
echo "big image!";
exit;
}
$ext = substr($_FILES['uploadfile']['name'], strpos($_FILES['uploadfile']['name'], '.'), strlen($_FILES['uploadfile']['name']) - 1);
$uploaddir = './avatar/';
$file = $uploaddir . basename($_FILES['uploadfile']['name']);
//$file = './avatar/'.$_POST['new'].$ext;
$filetypes = array('.jpg', '.gif', '.bmp', '.png', '.JPG', '.BMP', '.GIF', '.PNG', '.jpeg', '.JPEG');
if (!in_array($ext, $filetypes) && is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
echo "<p>\xc4\xe0\xed\xed\xfb\xe9 \xf4\xee\xf0\xec\xe0\xf2 \xf4\xe0\xe9\xeb\xee\xe2 \xed\xe5 \xef\xee\xe4\xe4\xe5\xf0\xe6\xe8\xe2\xe0\xe5\xf2\xf1\xff</p>";
} else {
$fle = './avatar/' . $_POST['new'] . $ext;
copy($_FILES["uploadfile"]["tmp_name"], $fle);
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {
if ($ext == '.jpg' || $ext == '.jpeg') {
resize_jpeg($file, $fle, 99);
}
if ($ext == '.gif') {
resize_gif($file, $fle, 99);
}
echo "success";
} else {
echo "error";
}
}
function resize_jpeg($un_file, $after_resize, $width)
{
//����� ������� JPG
//chmod ($un_file, 0777);
$SOURCE = $un_file;
// ������ ����
$TARGET = $after_resize;
// �� ����� �� "�������"
$NEWX = 100;
// ������ "�������"
$NEWY = 100;
// ����� "�������"
$size = getimagesize($SOURCE);
if ($size === false) {
die('Bad image file!');
}
$source = imagecreatefromjpeg($SOURCE) or die('Cannot load original JPEG');
// �������� ��������
if ($size[0] > $size[1]) {
$ratio = $size[0] / $width;
} else {
$ratio = $size[1] / $width;
}
$X = round($size[0] / $ratio);
$Y = round($size[1] / $ratio);
// ������� ����� �����������
$target = imagecreatetruecolor($X, $Y);
// �������� ��������� ����������� � ����� � ���������� �������:
imagecopyresampled(
$target,
// ������������� ������ ����������
$source,
// ������������� �������� ����������
0,
0,
// ��������� (x,y) ������� ������ ����
// � ����� �����������
0,
0,
// ��������� (x,y) ������� ������ ���� �����������
// ����� ���������� ����������
$X,
// ���� ������ ����������� �����
$Y,
// ���� ����� ����������� �����
$size[0],
// ������ �������� ����������� �����
$size[1]
);
imagejpeg($target, $TARGET, 100);
return $TARGET;
}
function resize_gif($un_file, $after_resize, $width)
{
//������� GIF
chmod($un_file, 0777);
$SOURCE = $un_file;
// ������ ����
$TARGET = $after_resize;
// �� ����� �� "�������"
$NEWX = 100;
// ������ "�������"
$NEWY = 100;
// ����� "�������"
$size = getimagesize($SOURCE);
// ����� getimagesize, ����� � ������� ������ ��������� �� �����,
// ��������� ������, ��������� (������ ������, � ��� ����� �������
// � �����������), ������ - $size[0] - � ����� - $size[1] -
// ���������� ����������. ������, �� �� ����������� �� �������� ������
// ���������� GD, ��� ��� ��� �������� ��������������� � �����������
// ��������� ������. � �����, ���� ������ ����� �� ���������, getimagesize
// ��������� false:
if ($size === false) {
die('Bad image file!');
}
// ������ � ���� JPEG-���� � ����� ������ imagecreatefromjpeg:
$source = imagecreatefromgif($SOURCE) or die('Cannot load original GIF');
// �������� ��������
if ($size[0] > $size[1]) {
$ratio = $size[0] / $width;
} else {
$ratio = $size[1] / $width;
}
$X = round($size[0] / $ratio);
$Y = round($size[1] / $ratio);
// ������� ����� �����������
$target = imagecreatetruecolor($X, $Y);
// �������� ��������� ����������� � ����� � ���������� �������:
imagecopyresampled(
$target,
// ������������� ������ ����������
$source,
// ������������� �������� ����������
0,
0,
// ��������� (x,y) ������� ������ ����
// � ����� �����������
0,
0,
// ��������� (x,y) ������� ������ ���� �����������
// ����� ���������� ����������
$X,
// ���� ������ ����������� �����
$Y,
// ���� ����� ����������� �����
$size[0],
// ������ �������� ����������� �����
$size[1]
);
// ������� �������� � JPEG-�����:
// ������ �������� ��������� ������, ����� ��� imagejpeg,
// ����� ������ �������� ����� ����� �� ����� � �������,
// �� � � ����. �� ����� ������� ������ �� ����� � ������������
// ������ ���������.
// ������ ����� imagejpeg ����� � ������ ����������� �������� -
// ������� ����������. ��������� ����������� ������� - 100.
imagegif($target, $TARGET, 100);
return $TARGET;
}
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-12 21:29:40.867096]
1 0 1 0.000152 393576
1 3 0 0.000323 417528 {main} 1 /var/www/html/uploads/upload-file.php 0 0
2 4 0 0.000366 417528 strpos 0 /var/www/html/uploads/upload-file.php 9 2 NULL '.'
2 4 1 0.000383 417600
2 4 R FALSE
2 5 0 0.000402 417528 substr 0 /var/www/html/uploads/upload-file.php 9 3 NULL FALSE -1
2 5 1 0.000417 417624
2 5 R FALSE
1 A /var/www/html/uploads/upload-file.php 9 $ext = FALSE
1 A /var/www/html/uploads/upload-file.php 11 $uploaddir = './avatar/'
2 6 0 0.000460 417528 basename 0 /var/www/html/uploads/upload-file.php 12 1 NULL
2 6 1 0.000473 417592
2 6 R ''
1 A /var/www/html/uploads/upload-file.php 12 $file = './avatar/'
1 A /var/www/html/uploads/upload-file.php 16 $filetypes = [0 => '.jpg', 1 => '.gif', 2 => '.bmp', 3 => '.png', 4 => '.JPG', 5 => '.BMP', 6 => '.GIF', 7 => '.PNG', 8 => '.jpeg', 9 => '.JPEG']
2 7 0 0.000517 417528 in_array 0 /var/www/html/uploads/upload-file.php 19 2 FALSE [0 => '.jpg', 1 => '.gif', 2 => '.bmp', 3 => '.png', 4 => '.JPG', 5 => '.BMP', 6 => '.GIF', 7 => '.PNG', 8 => '.jpeg', 9 => '.JPEG']
2 7 1 0.000542 417600
2 7 R FALSE
2 8 0 0.000565 417528 is_uploaded_file 0 /var/www/html/uploads/upload-file.php 19 1 NULL
2 8 1 0.000579 417560
2 8 R FALSE
1 A /var/www/html/uploads/upload-file.php 23 $fle = './avatar/'
2 9 0 0.000613 417568 copy 0 /var/www/html/uploads/upload-file.php 25 2 NULL './avatar/'
2 9 1 0.000637 417768
2 9 R FALSE
2 10 0 0.000654 417680 move_uploaded_file 0 /var/www/html/uploads/upload-file.php 27 2 NULL './avatar/'
2 10 1 0.000668 417752
2 10 R FALSE
1 3 1 0.000682 417680
0.000708 327328
TRACE END [2023-02-12 21:29:40.867679]
<html><head></head><body>error</body></html>
<?php
if($_FILES["uploadfile"]["size"] > 1024*1024) {
echo "big image!";
exit;
}
$ext = substr($_FILES['uploadfile']['name'],strpos($_FILES['uploadfile']['name'],'.'),strlen($_FILES['uploadfile']['name'])-1);
$uploaddir = './avatar/';
$file = $uploaddir . basename($_FILES['uploadfile']['name']);
//$file = './avatar/'.$_POST['new'].$ext;
$filetypes = array('.jpg','.gif','.bmp','.png','.JPG','.BMP','.GIF','.PNG','.jpeg','.JPEG');
if(!in_array($ext,$filetypes) && is_uploaded_file($_FILES['uploadfile']['tmp_name'])){
echo "<p>����� ������ ������ �� �������������</p>";
}else{
$fle = './avatar/'.$_POST['new'].$ext;
copy($_FILES["uploadfile"]["tmp_name"],$fle);
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {
if($ext=='.jpg' || $ext=='.jpeg') resize_jpeg($file, $fle, 99);
if($ext=='.gif') resize_gif($file, $fle, 99);
echo "success";
} else {
echo "error";
}
}
function resize_jpeg($un_file, $after_resize, $width){ //����� ������� JPG
//chmod ($un_file, 0777);
$SOURCE=$un_file; // ������ ����
$TARGET=$after_resize; // �� ����� �� "�������"
$NEWX=100; // ������ "�������"
$NEWY=100; // ����� "�������"
$size = getimagesize($SOURCE);
if ($size === false) die ('Bad image file!');
$source = imagecreatefromjpeg($SOURCE)
or die('Cannot load original JPEG');
// �������� ��������
if ($size[0]>$size[1]){
$ratio = $size[0]/$width;
} else {
$ratio = $size[1]/$width;
}
$X = round($size[0]/$ratio);
$Y = round($size[1]/$ratio);
// ������� ����� �����������
$target = imagecreatetruecolor($X, $Y);
// �������� ��������� ����������� � ����� � ���������� �������:
imagecopyresampled(
$target, // ������������� ������ ����������
$source, // ������������� �������� ����������
0,0, // ��������� (x,y) ������� ������ ����
// � ����� �����������
0,0, // ��������� (x,y) ������� ������ ���� �����������
// ����� ���������� ����������
$X, // ���� ������ ����������� �����
$Y, // ���� ����� ����������� �����
$size[0], // ������ �������� ����������� �����
$size[1] // ����� �������� ����������� �����
);
imagejpeg($target, $TARGET, 100);
return $TARGET;
// ��� ������, �� �������:
imagedestroy($target);
imagedestroy($source);
}
function resize_gif($un_file, $after_resize, $width){ //������� GIF
chmod ($un_file, 0777);
$SOURCE=$un_file; // ������ ����
$TARGET=$after_resize; // �� ����� �� "�������"
$NEWX=100; // ������ "�������"
$NEWY=100; // ����� "�������"
$size = getimagesize($SOURCE);
// ����� getimagesize, ����� � ������� ������ ��������� �� �����,
// ��������� ������, ��������� (������ ������, � ��� ����� �������
// � �����������), ������ - $size[0] - � ����� - $size[1] -
// ���������� ����������. ������, �� �� ����������� �� �������� ������
// ���������� GD, ��� ��� ��� �������� ��������������� � �����������
// ��������� ������. � �����, ���� ������ ����� �� ���������, getimagesize
// ��������� false:
if ($size === false) die ('Bad image file!');
// ������ � ���� JPEG-���� � ����� ������ imagecreatefromjpeg:
$source = imagecreatefromgif($SOURCE)
or die('Cannot load original GIF');
// �������� ��������
if ($size[0]>$size[1]){
$ratio = $size[0]/$width;
} else {
$ratio = $size[1]/$width;
}
$X = round($size[0]/$ratio);
$Y = round($size[1]/$ratio);
// ������� ����� �����������
$target = imagecreatetruecolor($X, $Y);
// �������� ��������� ����������� � ����� � ���������� �������:
imagecopyresampled(
$target, // ������������� ������ ����������
$source, // ������������� �������� ����������
0,0, // ��������� (x,y) ������� ������ ����
// � ����� �����������
0,0, // ��������� (x,y) ������� ������ ���� �����������
// ����� ���������� ����������
$X, // ���� ������ ����������� �����
$Y, // ���� ����� ����������� �����
$size[0], // ������ �������� ����������� �����
$size[1] // ����� �������� ����������� �����
);
// ������� �������� � JPEG-�����:
// ������ �������� ��������� ������, ����� ��� imagejpeg,
// ����� ������ �������� ����� ����� �� ����� � �������,
// �� � � ����. �� ����� ������� ������ �� ����� � ������������
// ������ ���������.
// ������ ����� imagejpeg ����� � ������ ����������� �������� -
// ������� ����������. ��������� ����������� ������� - 100.
imagegif($target, $TARGET, 100);
return $TARGET;
// ��� ������, �� �������:
imagedestroy($target);
imagedestroy($source);
}
?>