Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при загрузке фотографий 
:(
    Опции темы
rfpvp
Дата 23.8.2012, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.8.2012

Репутация: нет
Всего: нет



Всем доброго время суток.
Проблема с загрузкой фото на сервер
ошибка:
Код

[Thu Aug 23 18:40:52 2012] [error] [client 09.72.74.19] PHP Notice:  Undefined variable: HTTP_POST_FILES in /home/1/data/www/1.ru/photo.php on line 45, referer: http://hichat.ru/upfotos.php

код photo.php
Код

<?
                        
$upi='photo/';
$jmp='location:upfotos.php?';

$DBName='5';
$DBHost='localhost';
$DBUser='5';
$DBPass='5';

$head='e02';

$a = $_POST['a'];
$l = $_POST['l'];
$p = $_POST['p'];
$pt = $_POST['pt'];
$st = $_POST['st'];


if(strlen($l)&&strlen($p)>2&&strlen($pt)&&strlen($st)&&($a=='Закачать'||$a=='Удалить')){

        setlocale(LC_ALL,'ru_RU.CP1251');
        $fnd=0;

        if(!mysql_connect($DBHost,$DBUser,$DBPass)){
                echo'Can not connect to database <b>'.$DBName.'</b> !<br>';
                echo'Error: <b>'.mysql_error().'</b><br>';
                exit;
        }

        mysql_select_db($DBName);

        $r=mysql_query("select i,p,gg,gl from mem where n='{$l}'");
        if(mysql_num_rows($r)){
                $f=mysql_fetch_array($r);
                if($f["p"]==md5($p)){$fnd=1;}
        }
               
        if(!$fnd){
                sleep(2);
                        # пароль не опознан
                $head='e01';
        }else{
                if($a=='Закачать'){
                        $file_size=$HTTP_POST_FILES['userfile']['size'];
                        $fpr=@getimagesize($HTTP_POST_FILES['userfile']['tmp_name']);
                        $fxx=$fpr[0];
                        $fyy=$fpr[1];
                        $ftt=$fpr[2]; // type 1-gif 2-jpg
                        if($file_size<=2048000 && $ftt==2){

                                if($pt=='m'){

                                        $f=$f["i"].'a.jpg';
                                        @unlink($upi.$f);
                                        @copy($HTTP_POST_FILES['userfile']['tmp_name'],$upi.$f);
                                        @chmod($upi.$f,0777);

                                        $srx=0;$sry=0;
                                        $gx=$fxx;$gy=$fyy;
                                        if($st=='1'){
                                                if($fxx>$fyy){
                                                        $gx=$fyy;
                                                        $srx=round(($fxx-$fyy)/2);
                                                }else{
                                                        $gy=$fxx;
                                                        $sry=round(($fyy-$fxx)/2);
                                                }
                                        }

                                        $desimg=Imagecreatetruecolor(100,100);
                                        #$desimg=ImageCreate(100,100);
                                        $srcimg=ImageCreateFromJPEG($HTTP_POST_FILES['userfile']['tmp_name']);
                                        imagecopyresampled($desimg,$srcimg,0,0,$srx,$sry,100,100,$gx,$gy);
                                        imagejpeg($desimg,$upi.$f,100);
                                        $head='e00:'.$f;

                                }else{

                                        $pt=intval($pt);
                                        if($pt>-1&&$pt<12){
                                                $gal=$f["gl"];
                                                if($f["gg"]){
                                                        # gallery enabled
                                                        $sz1=150;
                                                        $sz2=40;

                                                        $p1=$f["i"]."g{$pt}.jpg";
                                                        $p2=$f["i"]."g{$pt}m.jpg";

                                                        $gal=substr($gal,0,$pt).'1'.substr($gal,$pt+1,strlen($gal)-$pt-1);
                                                        mysql_query("update mem set gl='{$gal}' where n='{$l}'");

                                                        $srx=0;$sry=0;
                                                        $gx=$fxx;$gy=$fyy;
                                                        if($st=='1'){
                                                                if($fxx>$fyy){
                                                                        $gx=$fyy;
                                                                        $srx=round(($fxx-$fyy)/2);
                                                                }else{
                                                                        $gy=$fxx;
                                                                        $sry=round(($fyy-$fxx)/2);
                                                                }
                                                        }

                                                        $desimg=Imagecreatetruecolor($sz1,$sz1);
                                                        #$desimg=ImageCreate($sz1,$sz1);
                                                        $srcimg=ImageCreateFromJPEG($HTTP_POST_FILES['userfile']['tmp_name']);
                                                        imagecopyresampled($desimg,$srcimg,0,0,$srx,$sry,$sz1,$sz1,$gx,$gy);
                                                        imagejpeg($desimg,$upi.$p1,100);
                                                        @chmod($upi.$p1,0777);

                                                        $desimg=Imagecreatetruecolor($sz2,$sz2);
                                                        #$desimg=ImageCreate($sz2,$sz2);
                                                        $srcimg=ImageCreateFromJPEG($HTTP_POST_FILES['userfile']['tmp_name']);
                                                        imagecopyresampled($desimg,$srcimg,0,0,$srx,$sry,$sz2,$sz2,$gx,$gy);
                                                        imagejpeg($desimg,$upi.$p2,100);
                                                        @chmod($upi.$p2,0777);

                                                        $head='e00:'.$p1;
                                                }else{$head='e05';}
                                        }else{$head='e02';}
                                }
                        }else{$head='e04';}
                }elseif($a=='Удалить'){

                        if($pt=='m'){
                                @unlink($upi.$f["i"].'a.jpg');
                                $head='e03';
                        }else{
                                $pt=intval($pt);
                                if($pt>-1&&$pt<12){
                                        $gal=$f["gl"];
                                        $gal=substr($gal,0,$pt).'0'.substr($gal,$pt+1,strlen($gal)-$pt-1);
                                        mysql_query("update mem set gl='{$gal}' where n='{$l}'");
                                        @unlink($upi.$f["i"]."g{$pt}.jpg");
                                        @unlink($upi.$f["i"]."g{$pt}m.jpg");
                                        $head='e03';
                                }else{$head='e02';}
                        }

                        if(strlen($t0)>2){
                                if(file_exists($upi.$f["i"].'.jpg')){
                                        @unlink($upi.$f["i"].'.jpg');
                                }
                        }
                        $head='e03';
                }else{$head='e02';}
        }

}else{$head='e02';}

header($jmp.$head);

?>



код upfotos.php
Код

<html><head><title>Закачка фоток</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Cache-Control" content="public">
<style>
a{color:#000090}
a:link{text-decoration:none}
a:active{text-decoration:none}
a:visited{text-decoration:none}
a:hover{color:#990000;text-decoration:none}
body{background:#eeeeee;color:#000000;font-family:verdana;font-size:11}
table{font-size:11}
img{border:0}
form{margin:0}
.stm{font-size:12px;width:225;height:20;font-family:verdana}
</style>
</head>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<table cellspacing="0" cellpadding="0" border="0" width="100%" bgcolor="#494F66">
<tr><td align=left>
</td></tr>
</table>
<form action="photo.php" method=post enctype="multipart/form-data">
<table cellpadding=3 cellspacing=0>
<tr bgcolor="#eeeeee">
<td colspan=2></td>
<td><font size=1>Загружаемый формат фоток <b>.jpg</b><br>Максимальный размер <b>2</b> Mb</font></td>
</tr>
<tr bgcolor="#e5e5e5">
<td align=right width=150>Логин <font color='#990000'>*</font></td><td width=10></td><td width=250><input class=stm type=text name=l maxlength=24></td>
</tr><tr bgcolor="#eeeeee">
<td align=right>Пароль <font color='#990000'>*</font></td><td width=10></td><td><input class=stm type=password name=p maxlength=24></td>
</tr><tr bgcolor="#e5e5e5">
<td align=right>Фото <font color='#990000'>*</font></td><td width=10></td><td><input class=stm accept="image/jpeg" name=userfile type=file></td>
</tr><tr bgcolor="#eeeeee">
<td align=right>Вид <font color='#990000'>*</font></td><td width=10></td><td>
        <select name=pt size=1 class=stm style="font-size:10px">
        <option value=m selected>Главная Фотка (100x100 px)</option>
        <?for($i=0;$i<12;$i++){echo"<option value={$i}>Галерея место ".($i+1)." (150x150 px)</option>";}?>
        </select>
</td>
</tr><tr bgcolor="#e5e5e5">
<td align=right>Изменение размера <font color='#990000'>*</font></td><td width=10></td><td>
        <input type=radio name=st value=1 checked>Обрезать края до квадрата<br>
        <input type=radio name=st value=2>Растянуть до квадрата
</td>
</tr>
<tr bgcolor="#e5e5e5">
<td colspan=2></td><td><br><input type=hidden name=MAX_FILE_SIZE value=2048000><input style="height:20;width:100;font-size:11" type=submit name=a value="Закачать"><input style="height:20;width:100;font-size:11" type=submit name=a value="Удалить"></td>
</tr>
<? 
$qs=explode(':',@$_SERVER['QUERY_STRING'] );
if(strlen($qs[0])==3){
        $er='<b>Ошибка!</b> ';
        $c1='<font color=006600>';
        $c2='<font color=990000>';
        $c3='</font>';
        $e=array(
                'e00'=>$c1.'Фотография успешно загружена!',
                'e01'=>$c2.$er.'Неверный пароль!',
                'e02'=>$c2.$er.'Введены неправильные данные!',
                'e03'=>$c1.'Фотка удалена!',
                'e04'=>$c2.$er.'Некоректный формат фотографии<br>(используйте <b>jpg</b>, размером не более <b>2</b> Mb)',
                'e05'=>$c2.$er.'Ваша галерея выключена Администратором!',
        );
        echo '<tr bgcolor="#eeeeee"><td align=right colspan=2><b>Результат:</b></td><td align=center><br>'.@$e[$qs[0]].$c3;
        if($qs[0]=='e00'){
                $upi='photo/';
                if(file_exists($upi.$qs[1])){
                        echo'<br><br><img src="'.$upi.$qs[1].'">';
                }
        }
        echo'</td></tr></table>';
}
?>
</table></form>
<br><br><br>
<br>
<br>
</body>
</html>



Подскажите пожалуйста в чем проблема.
Заранее спасибо!
PM MAIL   Вверх
rfpvp
Дата 23.8.2012, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.8.2012

Репутация: нет
Всего: нет



попробовал на другом хостинге, работает.
Видимо какой то модуль не подключен либо еще что то связанное с настройками php
PM MAIL   Вверх
Sanchezzz
Дата 24.8.2012, 06:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Попробуйте заменить HTTP_POST_FILES на $_FILES вероятно на хостинге отключен регистрглобалс как поумолчанию ( это нормальное явление )




Это сообщение отредактировал(а) Sanchezzz - 24.8.2012, 06:16


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0760 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.