Показать сообщение отдельно
  #9 (permalink)  
Старый 09.06.2010, 16:58
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

ух понял, нашел

правильно было написать
image=window.parent.document.createElement('img')




кому интересно вот мой дилетантский скрипт

--------------HTML------------
Форма для загрузки картинки
<form action="uploadImage.php"   name="uploadForm" method="post" target="hiddenframe" enctype="multipart/form-data">

   Картинка <input type="file" name="userfile"> 
   <input type="submit" value="Загрузить"  

</form>

iframe куда загружается php скрипт из файла uploadImage.php
<iframe id="hiddenframe" name="hiddenframe" style="display:none; width:0px; height:0px; border:0"></iframe>


здесь распологаются картинки, сюда добавляется новая после загрузки
<div id="allPics" style="width:200px;height:400px;overflow:auto;text-align:center;"></div>



--------------------PHP (uploadImage.php)---------------------

//функция для задания размеров картинки
function createbigthumbnail($origfile,$thumbfile) {
	global $settings;
	$origimage=imagecreatefromjpeg($origfile);
	$origwidth=imagesx($origimage);
	$origheight=imagesy($origimage);
	
	if ($origwidth<600){$newidth=$origwidth; $newheight=$origheight;
	$thumbimage=imagecreatetruecolor($origwidth,$origheight);}
	else {
	$newidth=600;
	$o=1;
	$o=$origwidth/600; $newheight=$origheight/$o;
	$thumbimage=imagecreatetruecolor(600,$newheight);}
	
	
	$background=imagecolorallocate($thumbimage,255,255,255);
	imagefill($thumbimage,0,0,$background);
	$result=imagecopyresampled( $thumbimage, $origimage,0,0,0,0,$newidth,$newheight,$origwidth,$origheight);
	imageJPEG($thumbimage,$thumbfile,100);}	


// функция генерации имени файла

function randomName()
{
	$min=4; // минимальное количество символов
	$max=15; // максимальное количество символов

	$name="";

	for($i=0;$i<rand($min,$max);$i++)
	// Загрузка и проверка символов
	{
		$num=rand(48,122);
		
		if(($num > 97 && $num < 122)) {
			$name.=chr($num);
		} else if(($num > 65 && $num < 90)) {
			$name.=chr($num);
		} else if(($num >48 && $num < 57)) {
			$name.=chr($num);
		} else if($num==95) {
			$name.=chr($num);
		} else {
			$i--;
		}
	}
	return $name;
}


// прием картинки

if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
    $picture = $_FILES['userfile'];
    $picture_ext = strrchr($picture['name'],".");

    if (eregi(".jpg", $picture_ext) || eregi(".jpeg", $picture_ext)) {
				
            move_uploaded_file($picture['tmp_name'],"../pics/temp.jpg");

            if (file_exists("../pics/temp.jpg")){
				
                // генерация имени 				
                $newname=randomName();

                // приведение к нужному размеру
                createbigthumbnail("../pics/temp.jpg","../pics/".$newname.".jpg");
				
               // удаление временного файла
               unlink("../pics/temp.jpg");
				
               // вычисление высоты для предпоказа (ширина=160)
               $size=getimagesize('../pics/'.$newname.'.jpg');
               $b=160/$size[0];
               $size[1]=round($size[1]*$b);

               if (file_exists("../pics/".$newname.".jpg")){?>
// далее добавление только что загруженной картинки 
// если там уже есть что-то вставляется в начало
// иначе просто добавляется

<script>
var imag=window.parent.document.createElement('img');
imag.src='../pics/<?=$newname?>.jpg';
imag.setAttribute('id','<?=$newname?>')
imag.style.marginTop='20px';
imag.style.width='160px';
imag.style.height='<?=$size[1]?>px';

var place=window.parent.document.getElementById('allPics');

if(place.children.length!=0){
      var i=place.children[0].getAttribute('id')
      var before=window.parent.document.getElementById(i);
      place.insertBefore(imag,before) 
}
else
{

      place.appendChild(imag) 

}
</script>

<?
                }
           }
      }
}

Последний раз редактировалось bushstas, 09.06.2010 в 17:45.
Ответить с цитированием