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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Добавление/замена картинки

Сообщения:  [1-9] 

 
 автор: sim5   (08.12.2008 в 05:05)   письмо автору
 
   для: artem64   (07.12.2008 в 21:53)
 

Кретин не кретин, это к филологам, а вот не собирать у себя мусор на сервере, это уж, извините, ваша задача. Вы можете чего-то не допонимать, но уж точо знаете, что запросто можете у себя на компьютере переименовывать файлы, давать им произвольные расширения... Так что же вы по ним проверку то делаете? Никогда не считайте ничего мелочью.
Редатирование же картинки, то у вас в базе прописано что-то (юзер, статья, или...) чему принадлежит изображение. Это изображение при редактировании можно показать, и новое поле ввода. Если есть загрузка нового изображения, то, если не менять имя файла, просто загружаем его с перезаписью старого, и в базе ничего не обновляем. Если имя при загрузке получается новое, то загружаем новое изображение, удаляем старое изображение, и делаем обновление в базе. И ничего никуда не пропадет.

  Ответить  
 
 автор: sim5   (08.12.2008 в 05:04)   письмо автору
 
   для: Valick   (07.12.2008 в 23:38)
 

-

  Ответить  
 
 автор: Valick   (07.12.2008 в 23:38)   письмо автору
 
   для: artem64   (07.12.2008 в 21:53)
 

А обнуляется потому что:
echo "<input name=\"picture\" type=\"hidden\" value=\"".$picture."\"> ";
echo "&nbsp;&nbsp;&nbsp;&nbsp;Заменить картинку:: ";
echo "<input type=\"file\" size=\"32\" name=\"picture\" class=input> ";
имена одинаковые
сделайте
echo "<input name=\"oldpicture\" type=\"hidden\" value=\"".$picture."\"> ";
Хотя я бы вообще не передавал это скрытое поле... оно вообще тут ненужно лежит себе на сервере файл и пусть лежит.

  Ответить  
 
 автор: Valick   (07.12.2008 в 22:10)   письмо автору
 
   для: artem64   (07.12.2008 в 21:53)
 

Вы филолог или программист?
По существу будет тогда когда сможете корректно задать вопрос.

  Ответить  
 
 автор: artem64   (07.12.2008 в 21:53)   письмо автору
 
   для: sim5   (04.12.2008 в 05:54)
 

Все-таки слово критик, явно от слова кретин происходит... А по существу вопроса кто-нибудь может высказаться?

  Ответить  
 
 автор: sim5   (04.12.2008 в 05:54)   письмо автору
 
   для: sl1p   (03.12.2008 в 21:58)
 

Нет не шутка, а вполне серьезно. Впрочем, если вы тоже надеетесь на расширение, можете считать это шуткой.

  Ответить  
 
 автор: sl1p   (03.12.2008 в 21:58)   письмо автору
 
   для: sim5   (03.12.2008 в 20:43)
 

новый вид шутка?:)

  Ответить  
 
 автор: sim5   (03.12.2008 в 20:43)   письмо автору
38 байт
 
   для: artem64   (03.12.2008 в 20:33)
 

Что за файл я прикрепил?

  Ответить  
 
 автор: artem64   (03.12.2008 в 20:33)   письмо автору
 
 

Эдравствуйте! Помогите пожалуйста разобраться в ситуации:
нужно пользователю дать возможность закачать файл на сервер(это решено), путь к картинке сохраняю в базе. Если пользователь возвращается к редактирования страницы, с которым ассоциирован рисунок и закачивает новый, то все ок. Но если не меняет старый, а меняем какие-то другие элементы формы, то путь к рисунку обнуляется, что является ошибкой. Извините, если не сумел объеснить точнее, хотя и пытался.. Чтобы было понятнее о чем речь вот часть кода сраницы с формой:

<?
  
require_once("../database.php");
 
?>
 <form  action="sampleposteddata.php" method="post" target="" enctype='multipart/form-data'>
   <input name="ID" type="hidden" value="<?php echo $ID?>">
Путь к картинке: 
    <?php
   
if (!empty($picture)) {
      echo 
$picture;
      echo 
"<input name=\"picture\" type=\"hidden\" value=\"".$picture."\">  ";
      echo 
"&nbsp;&nbsp;&nbsp;&nbsp;Заменить картинку::  ";
      echo 
"<input type=\"file\" size=\"32\" name=\"picture\" class=input> ";
   }
   else {
   echo 
"<input type=\"file\" size=\"32\" name=\"picture\" class=input> ";
   }
?>
</form> 


и вот кусок обработчика:


<?
//bla-bla-bla
if(!empty($_FILES['picture']['tmp_name']))
{        
        
$ext=strtolower(strrchr($_FILES['picture']['name'], "."));
        
$extensions=array(".jpg"".gif");      
        if (
in_array($ext$extensions))
        {
                 if(
copy($_FILES["picture"]["tmp_name"],  "../../picture/".mktime().$ext))
                 {
                    
$picture "picture/".mktime().$ext;
                 }
        }
        else
        {
               echo 
"<a href='index.php' >&#205;&#224;&#231;&#224;&#228;</a><br>";
               die(
"Расширения должны быть jpg или gif ");
        }
}
//bla-bla
?>

  Ответить  

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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