ФорумПрограммированиеPHP для идиотов → Проблема с загрузкой картинок

Проблема с загрузкой картинок

  • chhek

    Сообщения: 61 Репутация: N Группа: Кто попало

    Spritz 30 марта 2009 г. 21:49

    Вообщем не загружаются через админку картинки (как аватар), все время пишет Не указан путь к фотографии.
    Вот код этой страницы загрузки:
    <?
    session_start();
    ?>
    <html><head>
    <?php
    include("var.php");
    echo"<title>Управление фотографиями : $sitename</title>";
    include("top.php");
    echo "<div class=tbl1>";
    ?>
    <h3><center><strong>Управление фотографиями</strong></center></h3>
    <?php
    if ($file1 == 'none') {$file1 = '';}
    if ($file2 == 'none') {$file2 = '';}
    $id=$sid;
    $err22 = "Фотография должна иметь расширение *.jpg либо *.gif<br>";
    $err23 = "Фотография должна иметь размер не более $MAX_FILE_SIZE байт.<br>";
    $err4 = "Не указан путь к фотографии.<br>";
    $error = "";
    $n = getenv('REQUEST_URI');
    $n = ereg_replace("\?.*$","",$n);
    $result = @mysql_query("SELECT email,pass,category FROM $autortable WHERE (email = '$slogin' and pass = '$spass')");
    if ((!isset($slogin) or !isset($spass)) or @mysql_num_rows($result) == 0)
    {
    echo "<center><br><br><h3>Вы не авторизированы!</h3><b><a href=autor.php>Авторизация</a></b>";
    }
    else
    {//0
    while($myrow=mysql_fetch_array($result)) {
    $who=$myrow["category"];
    }
    if ($QUERY_STRING != "add")
    { //2
    $result = @mysql_query("SELECT ID,foto1,foto2 FROM $autortable WHERE ID = '$id'");
    while ($myrow=mysql_fetch_array($result)) {
    $foto1=$myrow["foto1"];
    $foto2=$myrow["foto2"];
    }
    echo "<center><font color=red>$error</font></center>";
    } //2
    if ($QUERY_STRING == "add") {
    if ($file1 != "") {
    $file1 = $HTTP_POST_FILES['file1']['name'];
    $filesize1 = $HTTP_POST_FILES['file1']['size'];
    $temp1 = $HTTP_POST_FILES['file1']['tmp_name'];
    $fileres1=strtolower(basename($file1));
    if ($file1 != "" and !eregi("\.jpg$",$fileres1) and !eregi("\.gif$",$fileres1)){$error .= "$err22";}
    if ($filesize1 > $MAX_FILE_SIZE){$error .= "$err23";}
    }
    if ($file2 != "") {
    $file2 = $HTTP_POST_FILES['file2']['name'];
    $filesize2 = $HTTP_POST_FILES['file2']['size'];
    $temp2 = $HTTP_POST_FILES['file2']['tmp_name'];
    $fileres2=strtolower(basename($file2));
    if ($file2 != "" and !eregi("\.jpg$",$fileres2) and !eregi("\.gif$",$fileres2)){$error .= "$err22";}
    if ($filesize2 > $MAX_FILE_SIZE){$error .= "$err23";}
    }
    if (isset($upload) and $file1 == "" and $file2 == "") {$error .= "$err4";}
    echo "<center><font color=red>$error</font></center>";
    if ($QUERY_STRING == "add" and $error == "") {
    if (isset($upload)) {
    $fid=$id;
    $updir=$photodir;
    $path1 = $upath."$updir";
    $fileres1=@substr($fileres1,-3,3);
    $fileres2=@substr($fileres2,-3,3);
    $source_name1="";
    $source_name2="";
    if ($file1 != "") {$source_name1 = "a".$fid."_1.$fileres1";}
    if ($file2 != "") {$source_name2 = "a".$fid."_2.$fileres2";}
    if($error == ""){
    $dest1 = $path1.$source_name1;
    $dest2 = $path1.$source_name2;
    if ($file1 != "") {@copy("$temp1","$dest1");$foto1=$updir."$source_name1";
    if (function_exists('ImageTypes')) {
    if ((ImageTypes() & IMG_JPG and $fileres1=='jpg') or (ImageTypes() & IMG_GIF and $fileres1=='gif'))
    { //small img
    if ($fileres1=='jpg') {$image = ImageCreateFromJPEG($foto1);}
    if ($fileres1=='gif') {$image = ImageCreateFromGIF($foto1);}
    $width = imagesx($image) ;
    $height = imagesy($image) ;
    $new_height = $smallfotoheight;
    $new_width = ($new_height * $width) / $height ;
    $thumb = imagecreate($new_width,$new_height);
    $thumb = ImageCreateTrueColor($new_width,$new_height);
    imagecopyresized($thumb,$image,0,0,0,0,$new_width,$new_height,$width,$height);
    if ($fileres1=='jpg') {ImageJPEG($thumb, $updir.'s'.$source_name1);}
    if ($fileres1=='gif') {ImageGIF($thumb, $updir.'s'.$source_name1);}
    }} //small img
    $sql="update $autortable SET foto1='$source_name1' WHERE ID='$id'";
    $result=@mysql_query($sql,$db);
    }
    if ($file2 != "") {@copy("$temp2","$dest2");$foto2=$updir."$source_name2";
    if (function_exists('ImageTypes')) {
    if ((ImageTypes() & IMG_JPG and $fileres2=='jpg') or (ImageTypes() & IMG_GIF and $fileres2=='gif'))
    { //small img
    if ($fileres2=='jpg') {$image = ImageCreateFromJPEG($foto2);}
    if ($fileres2=='gif') {$image = ImageCreateFromGIF($foto2);}
    $width = imagesx($image) ;
    $height = imagesy($image) ;
    if ($height > $smalllogoheight) {$new_height = $smalllogoheight;}
    elseif ($height <= $smalllogoheight) {$new_height = $height;}
    $new_width = ($new_height * $width) / $height ;
    $thumb = imagecreate($new_width,$new_height);
    $thumb = ImageCreateTrueColor($new_width,$new_height);
    imagecopyresized($thumb,$image,0,0,0,0,$new_width,$new_height,$width,$height);
    if ($fileres2=='jpg') {ImageJPEG($thumb, $updir.'s'.$source_name2);}
    if ($fileres2=='gif') {ImageGIF($thumb, $updir.'s'.$source_name2);}
    }} //small img
    $sql="update $autortable SET foto2='$source_name2' WHERE ID='$id'";
    $result=@mysql_query($sql,$db);
    }
    }
    }
    if (isset($delete1) or isset($delete2)) {
    unset($result);
    if (isset($delete1)) {@unlink($upath.$photodir.$foto1);
    @unlink($upath.$photodir.'s'.$foto1);
    $sql="update $autortable SET foto1='' WHERE ID='$id'";
    $result=@mysql_query($sql,$db);
    }
    if (isset($delete2)) {@unlink($upath.$photodir.$foto2);
    @unlink($upath.$photodir.'s'.$foto2);
    $sql="update $autortable SET foto2='' WHERE ID='$id'";
    $result=@mysql_query($sql,$db);
    }
    }
    }
    }
    if ($QUERY_STRING != "add" or $error != "") {
    $foto1upl="Фото : <input type=file name=file1 size=30><br>";
    $foto2upl="Логотип: <input type=file name=file2 size=30><br>";
    $foto1line="";
    $foto2line="";
    if ($foto1 != "")
    {$foto1line="<td align=center><a href=$photodir$foto1 target=_blank><img src=$photodir$foto1 border=0 height=150></a><br><input type=submit name=delete1 value=Удалить class=i3></td>";
    $foto1upl="";
    }
    if ($foto2 != "")
    {$foto2line="<td align=center><a href=$photodir$foto2 target=_blank><img src=$photodir$foto2 border=0 height=150></a><br><input type=submit name=delete2 value=Удалить class=i3></td>";
    $foto2upl="";
    }
    echo ("
    <form name=form method=post ENCTYPE=\"multipart/form-data\" action=regfoto.php?add>
    <input type=hidden name=id value=$id>
    <input type=hidden name=foto1 value=$foto1>
    <input type=hidden name=foto2 value=$foto2>
    <table width=90%>
    <tr>$foto1line
    $foto2line
    </tr>
    <tr><td align=center colspan=6>&nbsp;</td></tr>
    <tr><td align=center colspan=6>
    ");
    if ($who == 'soisk') {echo "$foto1upl";}
    if ($who == 'agency' or $who == 'rab') {echo "$foto2upl";}
    echo ("
    </td></tr>
    </table>
    ");
    echo "<center><p><input type=submit value=\"Загрузить\" name=\"upload\" class=i3></form>";
    echo "<p align=center><a href=autor.php>Вернуться в личный раздел</a></p>";
    }
    else {
    echo "<br><br><h3 align=center>Изменения сохранены!</h3><center><br><br><a href=regfoto.php>К редактированию фотографий</a><p align=center><a href=autor.php>Вернуться в личный раздел</a></p><br><br>";
    }
    echo ("
    <center><form method=post action=\"logout.php\">
    <input type=submit name=logout value=Выход class=i3><br><br>
    </form>
    ");
    } //1
    echo "</div>";
    include("down.php");
    ?>
  • chhek

    Сообщения: 61 Репутация: N Группа: Кто попало

    Spritz 30 марта 2009 г. 21:50, спустя 42 секунды

    на каталог photo атрибут 777 стоят
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 30 марта 2009 г. 21:59, спустя 8 минут 53 секунды

    нихуя себе ну ты хоть бы код оформил нормально… не ну это нормально да??? вот у меня нихуя не работает вот вам код чутли не обфусцированный в 200 строк и ищите в этой хуйне ошибку.. ппц тут еще древние глобальные массивы o_O
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz 30 марта 2009 г. 21:59, спустя 29 секунд

    пиздец код. не осилил.
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 30 марта 2009 г. 22:02, спустя 2 минуты 24 секунды

    убирай все лишнее и показывай код.. или хотябы оформи его.. никто такую !@#$% читать не будет… такое чувство что код написан под пхп3. eregi уу
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 22:06, спустя 4 минуты 33 секунды

    chhek, а без обработки картинго добавляется? Пробуй чистую картинку (как есть) добавить, и если все ок, то  уже после этого постепенно добавляй в скрипт её обработку. Тогда как минимум увидишь где прячется ошибка.
  • chhek

    Сообщения: 61 Репутация: N Группа: Кто попало

    Spritz 30 марта 2009 г. 22:09, спустя 2 минуты 37 секунд


    chhek, а без обработки картинго добавляется? Пробуй чистую картинку (как есть) добавить, и если все ок, то  уже после этого постепенно добавляй в скрипт её обработку. Тогда как минимум увидишь где прячется ошибка.


    как есть тоже не добавляет!…(( сами можите посмотреть http://livegomel.com/vavilon
    логин [email protected]
    пасс 123
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 22:35, спустя 26 минут 16 секунд

    даю мастер класс по обращению с нечитаемым кодом

    chhek, у тебя нет переменной $upload или $file1 или $file2!

    вариант 1 у тебя обновили версию php на более новую и массив HTTP_POST_FILES стал недоступен

    ты потерял переменную $upload а она действительно покоду не видна разве что в файлах var.php и top.php

    ищи ее
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 23:14, спустя 38 минут 46 секунд

    попробуй включи глобалсы ;)
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 30 марта 2009 г. 23:45, спустя 30 минут 53 секунды

    phpdude, там скрипт пиздецки старый. И $upload негде не видно. И вообще такой скрипт легче переписать, чем потом постоянно с ним гемороится.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 марта 2009 г. 23:46, спустя 43 секунды

    Givi, кому то проще, а ктото не знает как :)

    я почти уверен что там дело в глобалсах :)
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 31 марта 2009 г. 0:09, спустя 23 минуты 19 секунд

    phpdude, даже если в них дело, то место под этот скрипт не меняется - в (|) такой скрипт. Сказано про глобалсы "офф", значит "офф". Смысл настроить такой скрипт, потратить время на его настройку, наполнение и раскрутку сайта, а потом кто-то ломанет его через вагоны дырок.

    А насчет "кто-то не знает как", то я так и сказал ему: за бабосы отдать на переработку.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 31 марта 2009 г. 0:11, спустя 1 минуту 54 секунды

    :- => (|) (с) ацки порно
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 31 марта 2009 г. 0:15, спустя 4 минуты 36 секунд

    И вообще такой скрипт легче переписать, чем потом постоянно с ним гемороится.

    весь код не перепишешь, у тебя просто не будет времени и денег а работать должно вот и латаем
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 31 марта 2009 г. 0:38, спустя 22 минуты 53 секунды

    CTAPbIu_MABP, я про то, что если залатать одно, то полезет другое, потом третье и т.д.. И за каждым разом просить решение (не совет) на форумах и т.д. - это не вариант!

Пожалуйста, авторизуйтесь, чтобы написать комментарий!