Загрузка и вставка картинок

Печать RSS
366

Автор
Господин ПЖ
0
В ближайшее время хочу сделать возможность загружать и вставлять картинки в новости
в моем представлении, при загрузке картинки идентификатор помещать в сессию, под полем для ввода новости выводить список загруженных картинок, при нажатии картинка вставляется в поле новости, на JS
после добавления новости, картинки из временной директории попадают в upload, а не использованные остаются в temp и со временем сами удаляются
у кого есть простенькие примеры с примерным сценарием?
Изменил: Вантуз-мен (10.07.2011 / 11:36)

Ктулху
0
1, а что конкретно интересует? JS? помоему с технической стороны всё просто, по крайней мере на PHP
Автор
Господин ПЖ
0
да нужен js код вставки и как сделать чтобы при нажатии загрузить добавилась картинка, а все введенные данные сохранились в полях

2000 лет д.н.э.
0
http://upwap.ru/1600461

Добавлено через 01:50 сек.
                           		<ul id="files">
        <li>Прикрепленные изображения:</li>
                    </ul>
                  <div id="upload">
<img src="/image/WB/ok.png" alt="Select file" /> Выберите изображение
                </div>

                </div>
	<img src="/image/WB/ok.png" alt="Select file" /> <span id="status" >Нет загруженных файлов</span>

Добавлено через 03:23 сек.
<?php
// upload.php
if(AUT){

          if(!isset($_SESSION['upload'])){
$_SESSION['upload'] = array();
          }
$validext = array('jpeg', 'jpg', 'gif', 'png');
    if($_FILES['uploadfile']['name']!=''){
$ext = explode('.', $_FILES['uploadfile']['name']);
$ext = strtolower($ext[count($ext)-1]);
        if(in_array($ext, $validext)){
          if($_FILES['uploadfile']['size']<(6144*1024) AND $_FILES['uploadfile']['size']>=300){
                if(count($_SESSION['upload'])<=5){

$new_name = 'FX_'.time().mt_rand(111,999);

// save file on tmp dir

                    if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], 'tmp/files/'.$new_name)){
$_SESSION['upload'][] = array('tmp'=>$new_name, 'name'=>filter_function($_FILES['uploadfile']['name'], 60));
echo "success";
                    }else{
echo'notsave';
                    }
                  }else{
echo'limit';
                  }
          }else{
echo "filesize"; 
          }
        }else{
echo "filetype"; 
        }
    }else if(isset($this->query[0])){

// delete on array

        foreach( $_SESSION['upload'] as $n=>$fl ){
              if($fl['name']==$this->query[0]){
unset($_SESSION['upload'][$n]);
              }
        }
    
    
    }else{
echo'nofile';
    }
}

?>
Изменил: ramzes (10.07.2011 / 12:37)

2000 лет д.н.э.
0
Суть в том что аясом файл отправляется на аплоад.пхп, тот его проверяет и грузит, возвращает результат, который аякс же вставляет в страницу в виде js кнопки "вставить в текст" при этом сама страница естественно не обновляется, и текст из поля ввода не теряется
Автор
Господин ПЖ
0
4. ramzes, спасибо сейчас глянем, а почему бы не оставлять саму картинку в той же временной директории?

2000 лет д.н.э.
0
потому что потом когда я при сохранении сообщения пытался их оттуда переместить куда надо, у меня они не находились.
я сам не понял почему. может что то не так сделал, а может это денвер чудил
пришлось делать промежуточное хранение
Автор
Господин ПЖ
0
теперь проблема с тем как подключать этот js файл, 15 лишних килобайт думаю не все захотят подгружать, если учесть что у многих с мобил работать не будет
J

Оранжевые штаны
0
8. Vantuz, if ($config['theme'] == "web") {

2000 лет д.н.э.
0
8. Vantuz, так новости ж только одмин создает.
у меня 250кб js на сайте и ни кто даже не заметил этого,
тем более он кешируется, да и 15кб это не серьезно
________
на андроидах и айфонах работает отлично
Изменил: ramzes (10.07.2011 / 14:26)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск