[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ПРоблема с загрузкой изображения на сервер
Timonovsky
Здравстуйте, написал следующий скрипт:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
title>Untitled Document</title>
<
link href="../styles/styles1.css" rel="stylesheet" type="text/css" />
</
head>
<
body>
<?
include("../connect.php");
include("../files/header.html");
include("../files/navigator.html"); ?>

<?
include("../date.php") ?>
<table >
<
tr>
<
td id="left" class="2">
<
ul>
<
li><? echo join("",file('../text/text.txt'));?></li>
<
li><a href="">2</a></li>
<
li><a href="">3</a></li>
<
li><a href="">4</a></li>
<
li><a href="">5</a></li>
</
ul>


</
td>


<
td id="main">




<
h3>Загрузка изображений:</h3>
<
p>Работаем только с jpg изображением </p>
<
form enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF'] ?>" method="post">
<
input type="file" name="foto" />
<
input type="submit" name="asd" value="Загрузить" />
</
form>

<?

include('config.php');
$file_thumb_path="../images/galery/thumbs/";
$full_image_path="../images/galery/full/";
if(isset($_POST['asd']))
{

if($_FILES["foto"]["size"] >2053960) {echo "Размер файла превышает три мегабайта"; exit;}

if(!isset($_FILES['foto']['name'])) {echo "<div><b>Выберите файл</b></div>"; exit;}

$check=preg_match('/[.](jpg)|(JPG)$/',$_FILES['foto']['name']);
if(!$check){echo "<div><b>Работает только с jpg форматом изображения!!!</b></div>"; exit;}



$image=$number.'img.jpg';
if(!is_uploaded_file($_FILES['foto']['tmp_name'])) {echo "<b>Файл не загружен на сервер</b><br>";}
$result=move_uploaded_file($_FILES["foto"]["tmp_name"],$full_image_path.$image);
if(!$result) {echo "Ошибка при загрузке файла! <b>Размер изображения не должен превышать 2 мб</b>"; exit();}

echo "Размер изображения<b>:</b> ". $_FILES["foto"]["size"]."<br>";
echo "Имя изначально <b>:</b> ". $_FILES["foto"]["name"]."<br>";
echo "Имя изображения<b>:</b> ".$image."<br>";
echo $_FILES['ufile']['type'];
echo "Ошибка ".$_FILES["foto"]["error"]."<br>";

$file_thumb=$file_thumb_path.$image;
$full_image=$full_image_path.$image;
imageresize("$file_thumb","$full_image",300,220,85);

echo "Ваше изображенире успешно загружено<br><a href=\"galery.php\">Вы можетет посмотреть содержимое галереи</a>" ;
}
?>


</td>
</
tr>
</
table>



<? include('../files/footer.html') ?>

</body>
</
html>


не могу понять при загрузке фалов расширения avi или MOV, скрипт вообще ничего не делает, не выдает ошибки,в начале же стоит проверка на рвсширение. Что может тут быть?



Спустя 36 минут, 58 секунд (3.09.2010 - 10:41) linker написал(а):
if($_FILES["foto"]["size"] >2053960) {echo "Размер файла превышает три мегабайта"; exit;}
2053960 я думал всегда, что три мегабайта(3072000 байт) больше двух мегабайт(2048000 байт) на целый мегабайт(1024000 байт).
$image=$number.'img.jpg';
откуда взялась переменная $number?
$_FILES['ufile']['type'];
ufile откуда взялось?

По существу, ну хоть что-то скрипт выдает? Поставь в начале скрипта
error_reporting(E_ALL | E_NOTICE | E_STRICT);

Спустя 1 час, 13 минут, 28 секунд (3.09.2010 - 11:54) Timonovsky написал(а):
Добрый день, $_FILES['ufile']['type']; исправил на $_FILES["foto"]['type'];

$number подключаеться из фалв config.php Она определет количество



изображений в папке images и присваевает фото тпр изагрузке номер на 1-цу выше количества всех изображений, короче нумерует их.

<?php $i=0;
$path='images/thumbs/';
if ($handle = opendir($path)) //открываем ее;
{

while (false !== ($file=readdir($handle)))
{
if ($file != "." && $file != "..")

{
$images[$i]=$file;}
$i++;
}
$number=count($images);
}



// изменяем размер изображения
function imageresize($outfile,$infile,$neww,$newh,$quality) {
//
//

$im=imagecreatefromjpeg($infile);
$im1=imagecreatetruecolor($neww,$newh);
imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));

imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);


}
// конец работы с изображением
?>



Врубил вначале скрипта error_reporting(E_ALL | E_NOTICE | E_STRICT); Опять же при загрузке изображений или недопустимых форматах изображений ругаеться, а при загрузке видео опять ничего не выдает. Будто вообще я не нажимал на кнопку(((

Спустя 53 минуты, 20 секунд (3.09.2010 - 12:47) linker написал(а):
Так нажимал на сабмит или нет? Сабмит идет или вообще ничего не происходит?Ну подебажь немного.
echo $_FILES["foto"]["error"]
или
print_r($_FILES);

Спустя 24 минуты, 10 секунд (3.09.2010 - 13:12) Timonovsky написал(а):
Я уже все варианты вывода ошибок пробовал, но может дело в самом локальном снерваке? У меня сборка денвер? Cмотрел php.ini, но там вроде тож все норм?

Спустя 2 минуты, 46 секунд (3.09.2010 - 13:14) linker написал(а):
Ну что вообще происходит, когда жмешь на submit?

Спустя 21 час, 28 минут, 56 секунд (4.09.2010 - 10:43) Timonovsky написал(а):
ПРи нажатии на кнопку Send с некорректные данные, а именно с видео форматом, не происходит вообще ничего. Скрипт будто вообще не реагирует на нажатие, правда пару секунд страница типа грузится.И все. При корректной работе скрипта, в любом случае должны выскакивать сообщения об ошибке, и об загрузке либо незагрузке (((

Спустя 1 день, 4 часа, 20 минут, 44 секунды (5.09.2010 - 15:04) linker написал(а):
Вполне возможно
set_time_limit(0);
тебе поможет
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.