KostaShah

Рейтинг
17
Регистрация
11.06.2012

Тогда советую блоки сразу расположить в РНР файле, в виде массива:

#файл block.php

<?php
$ar[]='<img src="http://img.forumimg.net/misc/im_icq.gif"> Это блок №1';
$ar[]='<img src="http://img.forumimg.net/misc/im_icq.gif"> Это блок №2';
$ar[]='<img src="http://img.forumimg.net/misc/im_icq.gif"> Это блок №3';
$ar[]='<img src="http://img.forumimg.net/misc/im_icq.gif"> Это блок №4';
$ar[]='<img src="http://img.forumimg.net/misc/im_icq.gif"> Это блок №5';
$ar[]='<img src="http://img.forumimg.net/misc/im_icq.gif"> Это блок №6';
$ar[]='<img src="http://img.forumimg.net/misc/im_icq.gif"> Это блок №7';
echo $ar[array_rand($ar)];
?>

Тогда в упрощённом варианте, без изощрений с асинхронностью, страница может быть такой:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Блоки</title>
<script>
function gruzi(){
var blk=document.getElementById('oneblock');
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "block.php", false);
xmlHttp.send(null);
blk.innerHTML=xmlHttp.responseText;
}
</script>
</head>
<body>
<div style="border: 1px solid black; padding:10px" id="oneblock">
Тут у нас див.
</div>
<input type="button" onclick="gruzi()" value="Грузи">
</body>
</html>

Не хочу никого обидеть, но почему-то мне часто встречаются предложения, типа: "у меня есть идея, давай ты её реализуешь, и если сработает, поделимся доходом", и никогда не встречал: "хочу поработать бесплатно годик-другой, давай ты придумаешь, над чем, я это сделаю, и если сработает, вместе заработаем". :)

Я когда-то для этих целей набросал маленькую PHP-страничку. Её нужно положить в то место, куда вы хотите сохранить архив на новом сервере, и открыть её в браузере. Файл будет перекачан со старого сервера на новый через FTP напрямую (минуя ваш компьютер).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FXP</title>
</head>
<body>
<h1>FXP</h1>
<?
if(isset($_POST['h'])){

ini_set('display_errors', TRUE);
error_reporting(E_ALL);
set_time_limit(600);
$tim=microtime(true);
$fname=basename($_POST['f']);

$conn_id = ftp_connect($_POST['h']);

$login_result = ftp_login($conn_id, $_POST['u'], $_POST['p']);

echo "Логинимся: $login_result<br/>\n";

if (ftp_get($conn_id, $fname,$_POST['f'], FTP_BINARY)) {
echo "Файл $fname закачан за " microtime(true)-$tim . '<br/>\n';
} else {
echo "Есть проблема<br/>\n";
}

ftp_close($conn_id);
}else{
?>
<form method="post">
<table>
<tr>
<td>Хост</td>
<td><input name="h"/></td>
</tr>
<tr>
<td>Пользователь</td>
<td><input name="u"/></td>
</tr>
<tr>
<td>Пароль</td>
<td><input name="p"/></td>
</tr>
<tr>
<td>Файл</td>
<td><input name="f" size="100"/></td>
</tr>
</table>
<input type="submit" value="Поехали" />
</form>
<?php }?>
</body>
</html>

limbah_garry, Эти блоки с картинками и текстами, они где хнанятся? В базе данных ли? MySQL ли? Сайт на PHP ли? Может они в XML файле, или в текстовом, или в PHP файле уже в массив раскиданы?

Я думаю, "а" уже не нужно:

.maincont img  { 

display: block;
padding: 5px;
}
.maincont img:hover {
background-image: -webkit-linear-gradient(left, #f3a01e, #D05D2A, #9dc425, #4b8db5, #7c48b5);
background-image: -moz-linear-gradient(left, #f3a01e, #D05D2A, #9dc425, #4b8db5, #7c48b5);
background-image: -ms-linear-gradient(left, #f3a01e, #D05D2A, #9dc425, #4b8db5, #7c48b5);
background-image: -o-linear-gradient(left, #f3a01e, #D05D2A, #9dc425, #4b8db5, #7c48b5);
}

У многих хостинг-серверов, в целях борьбы со спамом, действует ограничение: можно отправлять письма только от имени такого мэила, который на самом деле существует на этим экаунте. У вас отправка пытается отправляться от имени мэила посетителя: From:$email. Заведите почтовую ячейку на вашем домене, типа: noreply@brokoli.com, и в "Content-type:text/plain; charset = windows-1251\r\nFrom:$email" замените на него $email: "Content-type:text/plain; charset = windows-1251\r\nFrom: noreply@brokoli.com". Если хотите, чтобы сохранилась возможность отвечать на письма кнопкой "Ответить" в вашей почте, то можно добавить следующее: "Content-type:text/plain; charset = windows-1251\r\nFrom: noreply@brokoli.com\r\nReply-To: $email\r\n"

Может в вашем случае дело и не в этом (или не только в этом), но я сталкивался с этим не раз.

Если в JQuery не сильны (как и я), то вот примерчик простой, стародедовской реализации:

<div onclick="makeit(this)">Кнопка</div>

<script type="text/javascript">
function makeit(it){
it.onclick='';
alert('Делаем что-то');
}
</script>

То есть, первым делом, обнуляется onclick, а потом уже делается всё остальное.

Посмотрел сейчас в 5.3.13, $s[2][0] - выдаёт ошибку, но что интересно,

$s='abcdef';

$s1=$s[2];

echo $s1[0];

- ошибку не выдаёт, печатает "с".

Я думаю, речь тут не о багах, просто в 5.4 изменили внутренний механизм доступа к буквам в строках.

Хочу поддержать товарища dkameleon. Во многих языках программирования обращение к символам строк как к элементам массива является законным и общепринятым приёмом. В уже упомянутой статье документации так же явно сказано:

Characters within strings may be accessed and modified by specifying the zero-based offset of the desired character after the string using square array brackets, as in $str[42]. Think of a string as an array of characters for this purpose.

Что можно перевести как: "Можно обращаться и изменять буквы в строках используя индекс (начинающийся с 0) в квадратных скобках, типа $str[42]. Для таких случаев можешь считать строку массивом букв."

Для начала, я бы убедился, что я точно знаю, что именно я вижу в выводе. Для этого, я бы попробовал изменить код следующим образом, и посмотреть на результат:

<?php 

$filename = 'file.txt';
$content = file ($filename);
foreach ($content as $line) {
$line = explode ('\t', $line);
$a = $line[0];
$b = $line[1];
$c = $line[2];
$d = $line[3];
echo "a=$a; b=$b; c=$c; d=$d<br>\n";
}
?>
Скорее всего окажется, что вы видите не то, что вы думаете, что вы видите.
Всего: 97