Показать сообщение отдельно
  #15 (permalink)  
Старый 14.05.2011, 14:26
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

И так сам php файл.

Он делает следующее.
Считывает все файлы из директории
Создает файл с именами и числом файлов
Делает рандомайз и отвечает запросу.

<?php

											// путь к директории с файлами
$dir = "image/";

											// счетчик количества файлов


											// Открыть заведомо существующий каталог и начать считывать его содержимое, после желательно записать
											// все в отдельный txt файл, чтобы потом его содержимое занести в массив, который будет формироваться и рендомайзится
											// после того как залиты новые фото нужно запустить эту функцию и все файлы будут занесены в текстовый файл

											// проверка на необходимость проверять на наличие новых фалов

											
											// проверка существования директории
if (is_dir($dir)) {
											// проверка возможности и открытие директории
    if ($dh = opendir($dir)) {
	
											// удаляем файл , для того чтобы не дублировать имена
			unlink('name.txt');
			
											//  записываем все имена файлов в переменную $file пока есть файлы
        while (($file = readdir($dh)) !== false)
		{

			$count++;
											// записываем все в txt файл из которого потом будем брать имя в рандомайзе            			 
			write_new_name($file);
        }
										
											// закрытие директории после чтения
        closedir($dh);
		//echo $count;
		random_image_scr($count);
    }
}

											//запись имен файлов в тхт файл
function write_new_name($file)
{
											// Считаем сколько файлов
	

												//новые записи добавляются в существующий файл
	$f = fopen('name.txt','a+');
	$file = "$file\r\n";
	fwrite($f,$file);
	fclose($f);
											// закрывать файл функцией fclose не обязательно, но рекомендуется
	
											
											// возвращает true если все прошло ок.
	return true;
}

											// РАНДОМАЙЗ ВЫБОРА ИЗОБРАЖЕНИЯ
function random_image_scr($count)
	{
 
		 $lines = file('name.txt');  // теперь в $lines массив строк файла
		 $i = ($lines[count($lines)]); // выводим последнюю строку
		 
		 $r= mt_rand(3,$count);				//делаем рандомайз в нужном диапазоне.
		 $name_file = $lines[$r]; 
 
		 $name_file="image/".$name_file;
		 echo $name_file;

	}


?>



Теперь сам html

Он передает запрос php и меняет скрин изображения по загрузке странице, можно повесить на клик , можно анимировать смену изображения , можно загружать массив изображений и т.д.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<TITLE>0931454574.blogspot.com</TITLE>
 
<META name="content-Type" content="text/html; charset=windows-1251">
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"  type="text/javascript"></script>
<script>
 $(document).ready(function()
{
	 
$.post("random.php", { name: "John", time: "2pm" },  // это я к тому что можно параметром что то передать, например нужную директорию и т.д.
  function(data){
    alert("Data Loaded: " + data);
	
	
	$("#images").attr("src",data);
  });

});
</script>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
</head>
<body>
<img src="image/1.jpg" id="images">
 
</body>
</html>


100% все работает. Так что скажи. это то что нужно ???
__________________
XYZ

Последний раз редактировалось 0931454574, 14.05.2011 в 14:29.
Ответить с цитированием