...
echo "<tr><td>Аватара:</td>";
echo "<td><input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">";
echo "<input type=\"file\" name=\"avatare\" maxlength=\"50\"></td></tr>";
...
upload картинок на сайт
Итак
1. Форма:
Код:
2. Принимающий файл:
Код:
...
if(empty($avatare))
{
$avatare="Нет рисунка";
}
else
{
$uploaddir = '/img/avatares/';
if (move_uploaded_file($_FILES['avatare']['tmp_name'], $uploaddir .
$_FILES['avatare']['name'])) {
print "File is valid, and was successfully uploaded.";
} else {
print "There some errors!";
}
}
...
$query="INSERT INTO `users` VALUES ('null','".$name."','".md5($password)."','".$email."',[COLOR="Red"]'".$avatare."'[/COLOR],'".$firstname."','".$age."','".$icq."','".$city."','".$ip."','".$datareg."','".$privelegie."','".$status."')";
if(empty($avatare))
{
$avatare="Нет рисунка";
}
else
{
$uploaddir = '/img/avatares/';
if (move_uploaded_file($_FILES['avatare']['tmp_name'], $uploaddir .
$_FILES['avatare']['name'])) {
print "File is valid, and was successfully uploaded.";
} else {
print "There some errors!";
}
}
...
$query="INSERT INTO `users` VALUES ('null','".$name."','".md5($password)."','".$email."',[COLOR="Red"]'".$avatare."'[/COLOR],'".$firstname."','".$age."','".$icq."','".$city."','".$ip."','".$datareg."','".$privelegie."','".$status."')";
Теперь рассказываю суть проблемы. Из формы передаются данные, пишется сообщение об удачной конфигурации и вылетает обработанное сообщение ошибки "print "There some errors!";" Понятно, что файл не залит в заданную директорию. Однако идём дальше открыв эту таблицу базы данных я вижу что в поле "avatares" записан путь к файлу на компьютере добавлявшего(т.е. меня=))
Код:
G:\картинки\av-18791.jpg
Настройки пхп.ини:
Код:
...
file_uploads = On
upload_tmp_dir = "C:\Program Files\ALTdenwer\complex\www\web\img\avatares"
upload_max_filesize = 2M
...
file_uploads = On
upload_tmp_dir = "C:\Program Files\ALTdenwer\complex\www\web\img\avatares"
upload_max_filesize = 2M
...
$uploaddir = '/img/avatares/';
может надо так записать: $uploaddir = './img/avatares/';
ибо я так понял работаете под виндой, а путь указываете абсолютный получается (наподобии никсов)
проблма в том, что надо доки читать и поиск использовать. тема затёртая до невозможности. в твоём случае лечиться добавлением форме атрибута encoding="multipart/form-data" (кажется encoding, ради такого вопроса даже лень где-то рыться)
видать себя чайником не посчитал ))))
http://forum.codenet.ru/showpost.php?p=167661&postcount=2 "гоу энд рид" )
мда, я даже почти угадал с именем атрибута ))))
вот разделы (темы всмысле) создаются для новичков ))) вопросы раскрытые даже структурируются и собираются.... в 1м сообщении, а им лень заглянуть... "срамнО товарисчи новички, срамнО" :)
ЗАГЛЯДЫВАЙТЕ В ТЕМЫ "... ДЛЯ ЧАЙНИКОВ" прежде чем задать вопрос ) особенно такого плана ))))
Цитата: Тень Пса
:D наман ))))
вот разделы (темы всмысле) создаются для новичков ))) вопросы раскрытые даже структурируются и собираются.... в 1м сообщении, а им лень заглянуть... "срамнО товарисчи новички, срамнО" :)
ЗАГЛЯДЫВАЙТЕ В ТЕМЫ "... ДЛЯ ЧАЙНИКОВ" прежде чем задать вопрос ) особенно такого плана ))))
вот разделы (темы всмысле) создаются для новичков ))) вопросы раскрытые даже структурируются и собираются.... в 1м сообщении, а им лень заглянуть... "срамнО товарисчи новички, срамнО" :)
ЗАГЛЯДЫВАЙТЕ В ТЕМЫ "... ДЛЯ ЧАЙНИКОВ" прежде чем задать вопрос ) особенно такого плана ))))
Да уж, сегодня полдня старался )) Если энтузиазм не иссякнет - будет продолжение!
оффтоп: ALTdenwer - это что ещё за очередная хрень для ламеров???
Я набросал вот такой код
Код:
$uploaddir = 'C:/Program Files/ALTdenwer/complex/www/web/img/avatares/';
if ($_FILES['avatare']['type']=="image/jpeg" or $_FILES['avatare']['type']=="image/gif")
{
print "Формат указанного вами файла не подходит. Попробуйте ещё раз.";
exit;
}
if($_FILES['avatare']['size'] > $MAX_FILE_SIZE)
{
print "Размер указанного вами файла превышает макс.допустимый размер.";
exit;
}
$pixel=getimagesize($_FILES['avatare']['tmp_name']);
$max_width='120';
$max_height='120';
$width='$pixel[0]';
$height='$pixel[1]';
if($width > $max_width && $height > $max_height)
{
echo "Максимальные размеры рисунка составляют '$max_width'x'$max_height'";
exit;
}
if (move_uploaded_file($_FILES['avatare']['tmp_name'], $uploaddir .
$_FILES['avatare']['name'])) {
$avatare=$_FILES['avatare']['name'];
} else {
print "При загрузке изображения произошла ошибка. Обратитесь к администрации.";
exit;
if ($_FILES['avatare']['type']=="image/jpeg" or $_FILES['avatare']['type']=="image/gif")
{
print "Формат указанного вами файла не подходит. Попробуйте ещё раз.";
exit;
}
if($_FILES['avatare']['size'] > $MAX_FILE_SIZE)
{
print "Размер указанного вами файла превышает макс.допустимый размер.";
exit;
}
$pixel=getimagesize($_FILES['avatare']['tmp_name']);
$max_width='120';
$max_height='120';
$width='$pixel[0]';
$height='$pixel[1]';
if($width > $max_width && $height > $max_height)
{
echo "Максимальные размеры рисунка составляют '$max_width'x'$max_height'";
exit;
}
if (move_uploaded_file($_FILES['avatare']['tmp_name'], $uploaddir .
$_FILES['avatare']['name'])) {
$avatare=$_FILES['avatare']['name'];
} else {
print "При загрузке изображения произошла ошибка. Обратитесь к администрации.";
exit;
Но проверку файл не проходит. Я так понимаю проверку надо делать над $_FILES['name']['tmp_name']
Цитата: Mayc
Я так понимаю проверку надо делать над $_FILES['name']['tmp_name']
аха, и еще... не надо ВСЁ присваивать с ковычками....
Код:
$max_width = 120;
$max_height = 120;
$width = $pixel[0];
$height = $pixel[1];
$max_height = 120;
$width = $pixel[0];
$height = $pixel[1];
Код:
<?php
$a = '2';
$b = '4';
echo $a * $b;
?>
$a = '2';
$b = '4';
echo $a * $b;
?>
Цитата: shaelf
РНР не типизированный язык.
Код:
<?php
$a = '2';
$b = '4';
echo $a * $b;
?>
$a = '2';
$b = '4';
echo $a * $b;
?>
это касательно моих ошибок (о возможности которых я уже предупредил)
но про проблему я был прав... так что вот....
про кавычки
опробуйте shaelf вот этот код... что вы видите???
Код:
<?
$pixel = array(120,130);
$width='$pixel[0]';
$height='$pixel[1]';
print $width." x ".$height;
?>
$pixel = array(120,130);
$width='$pixel[0]';
$height='$pixel[1]';
print $width." x ".$height;
?>
2АВТОР: ибо это тупое и самое прямое присвоение переменным строк, если нужно положить переменные (их значение) в строку, то нужно либо использовать конкатенацию строк, либо делать так
Код:
<?
$width='{$pixel[0]}';
$height='{$pixel[1]}';
?>
$width='{$pixel[0]}';
$height='{$pixel[1]}';
?>
PS и решение проблемы: КОВЫЧКИ НАДО УБРАТЬ! :D
Код:
<?
$width = $pixel[0];
$height = $pixel[1];
?>
$width = $pixel[0];
$height = $pixel[1];
?>
PPS 2АВТОР: А вообще..... print и print_r тебе в руки )))) ну такую уж мелочь мог бы и проверить ;)
книжки в руки, господа! и "монстры" этого форума в том числе )
PS Рад, что повеселил)
ничего ) я тож )))) :D