Сново php...

Discussion in 'PHP' started by SJet, 29 Mar 2007.

  1. SJet

    SJet Banned

    Joined:
    25 Nov 2006
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Вот пишу скрипт для загрузки фотографий на сервер. Получился вот такой код:
    PHP:
    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 
    'Ваша фотография успешно загружена';
    }
    Только вот в результате выполнения не выходит никаких ошибок, но и файл не появляется в заданом каталоге. Помогите разобратся!
     
    #1 SJet, 29 Mar 2007
    Last edited by a moderator: 29 Mar 2007
  2. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Вместо
    PHP:
    if ($act == addfoto)
    используй
    PHP:
    if ($_GET['act ']==='addfoto')
    и еще зачем ты используешь exit; построй нормально алгоритм...)
     
  3. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    может банальное register_globals?
    Code:
    if ($act == add)
    Что такое add? константа? :)
     
  4. SJet

    SJet Banned

    Joined:
    25 Nov 2006
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    add - форма для заливки картинки. foto.php?act=ADD
     
  5. SJet

    SJet Banned

    Joined:
    25 Nov 2006
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Я тут скачал готовую фотогалерею, и она работает(значит проблема не из-за серва), но я не могу разобратся в коде.
     
  6. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    <?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 =)
     
  7. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    еще забал проверить наличие $_GET['act'] и др., используй isset()
     
  8. AdvLamer

    AdvLamer Elder - Старейшина

    Joined:
    1 Jan 2006
    Messages:
    228
    Likes Received:
    205
    Reputations:
    112
    Никто картинки в Ldap не закачивал?
    А то пока непонятно как сделать...