ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PHP - загрузка изображения в папку
  #1  
Старый 20.12.2008, 15:20
Аватар для Lionis
Lionis
Познающий
Регистрация: 13.12.2008
Сообщений: 75
Провел на форуме:
128428

Репутация: 20
Wink PHP - загрузка изображения в папку

Есть папка - "images" /
админка управляющая одним файлом "001.jpg"
надо код вида >>>



---
Обзор - выбор файла на компьютере .
Ниже - картинка которая сейчас загружена в папку .
картинка все время будет одного названия и формата "001.jpg" .
Загрузить - подтверждение , после чего страница обновляется и вместо старого изображения отображается загруженное , это я про "файл который сейчас в папке"
---
спасибо .
буду рад каждому ответу .
И всех с наступающим!!!
 
Ответить с цитированием

  #2  
Старый 20.12.2008, 16:01
Аватар для ntldr
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

PHP код:
<form enctype="multipart/form-data" action="?" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="999999">
<input type="file" name="fajl" />
<input type="submit" />
</form>
Файл, который сейчас в папке:<br />
<img src="./images/001.jpg" />
<?php
if (count($_FILES)>0){
    @
move_uploaded_file($_FILES['fajl']['tmp_name'],getcwd()."/images/001.jpg");
}
?>
?
 
Ответить с цитированием

  #3  
Старый 20.12.2008, 16:07
Аватар для ntldr
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

а лучше так чтобы не кешировалась картинка
PHP код:
<form enctype="multipart/form-data" action="?" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="999999">
<input type="file" name="fajl" />
<input type="submit" />
</form>
<img src="./images/001.jpg?<?php echo rand(0,10000); ?>" />
<?php
if (count($_FILES)>0){
    @
move_uploaded_file($_FILES['fajl']['tmp_name'],getcwd()."/images/001.jpg");
}
?>
 
Ответить с цитированием

  #4  
Старый 20.12.2008, 16:30
Аватар для Lionis
Lionis
Познающий
Регистрация: 13.12.2008
Сообщений: 75
Провел на форуме:
128428

Репутация: 20
По умолчанию

Цитата:
Сообщение от ntldr  
а лучше так чтобы не кешировалась картинка
PHP код:
<form enctype="multipart/form-data" action="?" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="999999">
<input type="file" name="fajl" />
<input type="submit" />
</form>
<img src="./images/001.jpg?<?php echo rand(0,10000); ?>" />
<?php
if (count($_FILES)>0){
    @
move_uploaded_file($_FILES['fajl']['tmp_name'],getcwd()."/images/001.jpg");
}
?>
Спасибо большое !
Все идеально работает!
 
Ответить с цитированием

  #5  
Старый 20.12.2008, 17:12
Аватар для Thrasher88
Thrasher88
Познающий
Регистрация: 18.04.2008
Сообщений: 62
Провел на форуме:
279406

Репутация: 37
По умолчанию

Не буду создавать новую тему, просто здесь опишу свою проблему.
Есть такой вот код, который должен заливать аватар юзера в папку... но почему то этого не делает. Подскажите, где может быть ошибка?
PHP код:
if (!$_FILES[newavatar][name]) { 
  echo
'Не пойму не работает! :(';
    } else {

        
$filesize_2 $_FILES[newavatar][size];
        if (
$filesize_2 $max_upload_size) {

        echo 
"<span class=\"error\">Warning: Max file size exceeded on image #2. Max upload size: "$max_upload_size 1024 ." kb</span><br>";
            
        } else {

            
$ext_2 strrchr($_FILES[newavatar][name],'.');
            if (
$ext_2 == ".gif" || $ext_2 == ".jpeg" || $ext_2 == ".png" || $ext_2 == ".jpg") {

                
$filenamea str_replace("?"""$_FILES[newavatar][name]);
                
$filenameb str_replace(":"""$filenamea);
                
$filenamec str_replace(" """$filenameb);

                
$add "images/avatars/$time"_" "$username"$filenamec";
                
copy($_FILES[newavatar][tmp_name], $add);
                
chmod("$add",0777);

                
// Delete old avatar
                
$old_avatar mysql_query("SELECT * FROM ccms_user where username='$username'");
                while (
$row mysql_fetch_assoc($old_avatar)) {

                    if (
file_exists($row[avatar])) {
                        
unlink($row[avatar]);
                    }
                }

                
mysql_query("UPDATE ccms_user SET avatar='$add' WHERE username='$username'"); 

            } else {
                echo 
"<SPAN class=\"error\">Warning: Avatar - Only .gif, .jpg and .png files may be uploaded.</SPAN><br />";
            }
        }
    } 
Причем все данные в БД скрипт записывает нормально, то есть адрес картинки выводится какой надо и где надо, но самой картинки в папке нету.. Картинка соответствует требованиям по размеру и расширению и, соответственно, папка, в которую заливаются аватарки, имеет соответствующие права.
 
Ответить с цитированием

  #6  
Старый 20.12.2008, 17:18
Аватар для ntldr
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Вместо
PHP код:
copy($_FILES[newavatar][tmp_name], $add); 
сделай
PHP код:
move_uploaded_file($_FILES['newavatar']['tmp_name'],$add); 
 
Ответить с цитированием

  #7  
Старый 20.12.2008, 17:45
Аватар для Thrasher88
Thrasher88
Познающий
Регистрация: 18.04.2008
Сообщений: 62
Провел на форуме:
279406

Репутация: 37
По умолчанию

Странно как то... файл загружается только тогда, когда нажмешь определенную ссылку. К примеру, загрузил я аватар, в папке авы нету и в том месте, где она должна отображаться не отображантся. Попробовал нажать на ссылку "редактировать профиль"- аватар появился.. а если нажать на ссылку "На главную" аватар так и не появляется.. :/

Пробовал запретить кеширование - все равно ничего не выходит ((

Последний раз редактировалось Thrasher88; 20.12.2008 в 17:54..
 
Ответить с цитированием

  #8  
Старый 20.12.2008, 17:56
Аватар для ntldr
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

попробуй выводить каринку как я например:
<img src="./images/001.jpg?<?php echo rand(0,10000); ?>" />
 
Ответить с цитированием

  #9  
Старый 20.12.2008, 18:04
Аватар для Thrasher88
Thrasher88
Познающий
Регистрация: 18.04.2008
Сообщений: 62
Провел на форуме:
279406

Репутация: 37
По умолчанию

А зачем вот это:
<?php echo rand(0,10000); ?> :/

UPD: чтоб картинка не кешировалась ))
UPD: нет, не помогает

Последний раз редактировалось Thrasher88; 20.12.2008 в 18:16..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ