PDA

Просмотр полной версии : Сново php...


SJet
29.03.2007, 19:43
Вот пишу скрипт для загрузки фотографий на сервер. Получился вот такой код:

if ($act == add)
{
echo '<form method="post" enctype="multipart/form-data" action="foto.php?act=addfoto">
<input type=hidden name=action value=add>
<table border=0 width=267 >
<tr><td><input type=hidden name="MAX_FILE_SIZE" value="163840"></td></tr>
<tr><td align=center><font face=verdana size=2>Фотография:</font></td><td><input type=file name=photo size=14></td></tr>
<tr><td colspan=2 align=right><input type=submit value="Добавить фотографию"></td></tr>
</form>';
}
if ($act == addfoto)
{
$photo = $_FILES['photo']['tmp_name'];

$photo_name = $_FILES['photo']['name'];

$photo_size = $_FILES['photo']['size'];

$photo_type = $_FILES['photo']['type'];

$photo_error = $_FILES['file']['error'];

if ($photo_error >0)
{
echo 'Проблема: ';
switch ($photo_error)
{
case 1: echo 'Файл слишком большой!'; break;
case 2: echo 'Файл слишком большой!'; break;
case 3: echo 'Файл загружен частично!'; break;
case 4: echo 'Файл не загружен'; break;
}
exit;
}
$upfile = 'fotos/'.$photo_name;
if (is_uploaded_file($photo))
{
if (!move_uploaded_file($photo, $upfile))
{
echo 'Файл не может быть перемещён!';
exit;
}

}
echo 'Ваша фотография успешно загружена';
}


Только вот в результате выполнения не выходит никаких ошибок, но и файл не появляется в заданом каталоге. Помогите разобратся!

DIAgen
29.03.2007, 19:49
Вместо if ($act == addfoto) используй if ($_GET['act ']==='addfoto')
и еще зачем ты используешь exit; построй нормально алгоритм...)

fucker"ok
29.03.2007, 19:53
может банальное register_globals?
if ($act == add)
Что такое add? константа? :)

SJet
29.03.2007, 20:03
add - форма для заливки картинки. foto.php?act=ADD

SJet
29.03.2007, 20:05
Я тут скачал готовую фотогалерею, и она работает(значит проблема не из-за серва), но я не могу разобратся в коде.

Isis
30.03.2007, 00:29
<?php
if ($_GET['act'] == 'add') {
echo '<form method="post" enctype="multipart/form-data" action="foto.php?act=addfoto">
<input type="hidden" name="action" value="add">
<table border=0 width=267 >
<tr><td><input type=hidden name="MAX_FILE_SIZE" value="163840"></td></tr>
<tr><td align=center><font face=verdana size=2>Фотография:</font></td><td><input type=file name="photo" size=14></td></tr>
<tr><td colspan=2 align=right><input type=submit value="Добавить фотографию"></td></tr>
</form>';
}
if ($_GET['act'] == 'addfoto') {
$photo = $_FILES['photo']['tmp_name'];
$photo_name = $_FILES['photo']['name'];
$photo_size = $_FILES['photo']['size'];
$photo_type = $_FILES['photo']['type'];
$photo_error = $_FILES['file']['error'];
if ($photo_error > 0) {
echo 'Проблема: ';
switch ($photo_error) {
case 1:
echo 'Файл слишком большой!';
break;
case 2:
echo 'Файл слишком большой!';
break;
case 3:
echo 'Файл загружен частично!';
break;
case 4:
echo 'Файл не загружен';
break;
}
exit;
}
$upfile = 'fotos/'.$photo_name;
if (is_uploaded_file($photo)) {
if (!move_uploaded_file($photo, $upfile)) {
echo 'Файл не может быть перемещён!';
exit;
}
}
echo 'Ваша фотография успешно загружена';
}

А еще проверь права на папку fotos =)

nerezus
30.03.2007, 07:26
еще забал проверить наличие $_GET['act'] и др., используй isset()

AdvLamer
03.04.2007, 13:31
Никто картинки в Ldap не закачивал?
А то пока непонятно как сделать...