Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите со скриптом загрузки картинок
 
 автор: StudZona.ru   (14.11.2005 в 05:11)   письмо автору
 
 

Ребята! Слёзно прошу помогите!!! Намучился я уже с этим скриптом! Не работает и всё! У меня есть задача: сделать web-интерфейс загрузки картинок пользователями. Вот скрипт на сервере посмотрите http://www.studzona.ru/inc/upload.php Выдаёт сошибки:

Warning: filesize(): open_basedir restriction in effect. File(/var/tmp/phpBAzGL3) is not within the allowed path(s): (/home/studzona:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/studzona/public_html/inc/upload.php on line 34

Warning: copy(): open_basedir restriction in effect. File(/var/tmp/phpBAzGL3) is not within the allowed path(s): (/home/studzona:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/studzona/public_html/inc/upload.php on line 80

Хостерам уже десяток писем отправлял. Сначала они сказали мне права на папку tmp 777 выставить - выставил... ничего! Потом пути в функциях filesize() на абсолютные поставить /home/studzona/pablic_html поставил и опять ничего....

Скрипт пишет, что фото скопированно, но это нетак. На локалке всё работает. А на сервере нет.
В чем дело подскажите! Или пришлите скрипт который бы стопудово работал у меня. Буду очень и очень признателен! Может я чего-то напутал, али не понимаю... Поможите пожалуста... очень надо.


Вот код скрипта загрузки картинок studzona.ru/inc/upload.php

<?PHP
$max_size_gall_photo
="1000000"//максимальный размер картинки
$path_image_smgall="/home/studzona/public_html/"//директория


echo "<table cellSpacing=1 bgcolor=#c6c6c6 cellPadding=2 class=text align=center>
<tr><td bgcolor=#ffffff align=center colspan=2>загрузить фото...</td></tr>"
;
if (!empty(
$add_comment)) {
$error_com "";
if(empty(
$image)){
$error_com .="<br>&#187; Вы не загрузили маленькое фото!";
}
if(empty(
$nameimage)){
$error_com .="<br>&#187; Вы не дали имя картинке!";
}

if(!empty(
$nameimage)) {
if (!
eregi("^[a-z0-9_]{1,20}$",$nameimage))
{
$error_com .="<br>&#187; Имя фотки должно быть латиским от 1 до 20 символов без пробелов!";
}

if(
strlen($nameimage)>25)
{
$error_com .="<br>&#187; Имя фотки не должно быть более 25 символов!";
}

}
//проверяем маленькую картинку
if(!empty($image)) {
$extensions = array(".jpg"".gif");
 if(!
$image){ $image $HTTP_POST_FILES['image']['tmp_name']; }
$userfile_size=filesize("$image");

        
$image_name="$nameimage.jpg";
        
$img_name_arr explode(".",$image_name);
        
$type          end($img_name_arr);


                    if (
$max_size_gall_photo$userfile_size)
                        {
                  
$error_com .= "<br>&#187; Маленькое фото слишком тяжёлое!!! $file_sizers_format<br>";
                          }
                    
$ext strrchr($image_name,'.');
                     if (!
in_array($ext,$extensions))
                          {
                  
$error_com .= "<br>&#187; Файл имеет неправильный тип.<br>";
                          }
                    if (
$type != "gif" and $type != "jpg" and $type != "jpeg" and $type != "jpe")
                    {
                     
$error_com .= "<br>&#187; Файл имеет неправильный тип.<br>";
                    }
                    if(
$image_name == ""){ $error_com "<font color=red>Нет файла для загрузки !!!</font>";
                    
$error_com .="<br>&#187; Нет файла для загрузки !!!";
                     }

            if(
file_exists($path_image_smgall."/".$image_name)){
           
$error_com .= "<br>&#187; Фото уже загружено !!!</font>";
          
// unlink("$image", $path_image_smgall."/".$image_name);
            
}
        if(
$type != "gif" and $type != "jpg" and $type != "png" and $type != "bmp" and $type != "jpeg" and $type != "jpe"){
             
$error_com .= "<br>This type of file is not allowed !!!</font>";}
}

if(!empty(
$error_com)) {
echo 
"<tr><td colspan=2 bgcolor=#ffffff align=center><font color=#ff0000>ERROR</font></td></tr>
<tr><td colspan=2 bgcolor=#ffffff><font color=#ff5400>
$error_com</font><br></tr> ";
}

if(empty(
$error_com)) {
echo 
"<tr><td colspan=2 align=center bgcolor=#ffffff><b>Фото добавлено!</font></b></td></tr>";
//копируем картинку
if(!empty($image)){
if(empty(
$error_com))
copy($image$path_image_smgall."/".$image_name);
}

}
}
//error
echo'
<form method=post action='
.$PHP_SELF.' ENCTYPE="multipart/form-data" name=addnews>
<tr  bgcolor=#ffffff><td valign=top align=right><big>*</big> маленькое фото:<br>
</td><td><input type=file name=image ></td></tr>
<tr  bgcolor=#ffffff><td  align=right>
<big>*</big>новое имя картинки без .jpg : </td><td> <input type=text name=nameimage size=34 maxlength=110  value="'
.@$nameimage.'"></td>
</tr>
<tr bgcolor=#ffffff><td colspan=2  width=300 >
<big>*</big> обязательные поля для заполнения <br>
</td></tr>
<tr bgcolor=#ffffff><td colspan=2 align=center>
<input type=submit name=add_comment style="width:100%" value="Добавить фото"></td></tr>
</table></center><br>'
;
//comment
?>

   
 
 автор: cheops   (14.11.2005 в 15:10)   письмо автору
 
   для: StudZona.ru   (14.11.2005 в 05:11)
 

Это дело рук хостеров, у вас в сообщении английским языком сказано, что к файлам можно обращаться в директориях
/home/studzona
/usr/lib/php
/usr/local/lib/php
/tmp

В конфигурационном файле php.ini в директиве upload_tmp_dir прописано /var/tmp
upload_tmp_dir = /var/tmp

вместо
upload_tmp_dir = /tmp

Или /var/tmp следует прописать в директиве open_basedir.

PS Вы им как-нибудь аккуратно об этом сообщите, не раздражая их... со словами "возможно", "мне кажется" и т.п. Системные администраторы серверов часто бывают не программистами и хорошо знают как следует защищать сервер, но плохо представляют, что требуется программистам для комфортной работы.

   
 
 автор: StudZona.ru   (15.11.2005 в 00:58)   письмо автору
 
   для: cheops   (14.11.2005 в 15:10)
 

Спасибо! Я так и думал!!!! Вы ребята реальные профи! Просто лучшие.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования