|
|
|
| Добрый день!
Я использую финкцию
str_replace("\n", "<br>", $d));
|
Всё работает и получается, только вот на самой страничке так и видно <br>
Без самого перемещения на строку.
Помогите пожалуста понять.
В чём дело?
файл где текст записывается не в виде файла .тхт (текста) , а в такомже виде как и сам закачиваемый файл. Только с текстовым содержанием в нутри.
Может это из-за этого?
Вот скрипт.
Посмотрите пожалуста, может здесь кое-какие ошибки.
<?php
$dossier_cible = "../discography/";
if(isset($_FILES['f'])&&isset($_POST['d']))
{
if(file_exists("$dossier_cible/".basename($_FILES['f']['name']))) die("<html><body><h1>Un fichier du même nom existe déjà !</h1></body></html>");
if(!move_uploaded_file($_FILES['f']['tmp_name'], "$dossier_cible/".basename(str_replace(" ", "_", $_FILES['f']['name'])))) die("Echec ! Vérifiez les persmissions du dossier $dossier_cible !");
$d = substr($_POST['d'],0,60); $fp = fopen("$dossier_cible/d/".basename(str_replace(" ", "_",$_FILES['f']['name'])),"w");
fwrite($fp,str_replace("\n", "<br>", $d));
fclose($fp);
}
?>
<?
function redimage($img_src,$dst_w,$dst_h) {
// Lit les dimensions de l'image
$size = GetImageSize($img_src);
$src_w = $size[0]; $src_h = $size[1];
// Teste les dimensions tenant dans la zone
$test_h = round(($dst_w / $src_w) * $src_h);
$test_w = round(($dst_h / $src_h) * $src_w);
//URL fayla
$urlfile = "$dossier_cible$f";
// Si Height final non précisé (0)
if(!$dst_h) $dst_h = $test_h;
// Sinon si Width final non précisé (0)
elseif(!$dst_w) $dst_w = $test_w;
// Sinon teste quel redimensionnement tient dans la zone
elseif($test_h>$dst_h) $dst_w = $test_w;
else $dst_h = $test_h;
// Affiche les dimensions optimales
echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
?>
<html>
<head>
<title>Envoi de fichier</title>
</head>
<body>
<h1>Envoi de fichier</h1>
<h2>Liste des fichiers dans <?=$dossier_cible?></h2><br />
<table align="center" width="80%" cellspacing="0" cellpadding="2" bgcolor="#EFEFEF">
<tr style="background:#7F7F7F;"><td width="35%"> Nom du fichier</td><td> Description</td></tr>
<?php
$d = opendir($dossier_cible); readdir($d); readdir($d);
while($f = readdir($d))
{
if($f == ".htaccess" || $f=="d") continue;
$desc = implode('',file("$dossier_cible/d/$f"));
?>
<tr><td><a href="#"><img src="<?=$dossier_cible.htmlentities($f)?>" border="0" onClick="MM_openBrWindow('.$dossier_cible.$f.','agrandire','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no')" <?redimage("$dossier_cible$f",100,100)?>></a></td>
<td><?=htmlentities($desc)?></td></tr>
<? } ?>
</table>
|
| |
|
|
|
|
|
|
|
для: cccp
(13.01.2006 в 04:14)
| | У тебя есть строка
Функция htmlentities() производит конвертацию всех символов, которые могут иметь html представление. Посмотри как выглядит <br> после обработки этой функцией
естественно браузер выведет <br>, а не перевод строки.
htmlentities() надо использовать перед записью в файл и еще добавить stripslashes() (для пущей безопасности), т.е. твою строку
fwrite($fp,str_replace("\n", "<br>", $d));
|
переписать
fwrite($fp, stripslashes(htmlentities($d)));
|
А при выводе текста в броузер использовать функцию nl2br(), которая заменяет переводы строк на <br>, т.е.
<td><?=nl2br($desc)?></td></tr>
|
| |
|
|
|
|
|
|
|
для: WebTech
(13.01.2006 в 11:03)
| | Спасибо за ответ.
Темболее что такой понятный!
Я сделаю изминения сегодня вечером и скажу как. | |
|
|
|
|
|
|
|
для: cccp
(13.01.2006 в 13:28)
| | КЛАССНО!
Работает !
ОГРОМНОЕ СПАСИБО !!!
:)
ПС:
Не могли бы вы мне ещё подсказать как мне сделать линк на фотки?
Я хотел использовать таким образам,
<a href="#"><img src="<?=$dossier_cible.htmlentities($f)?>" border="0" onClick="MM_openBrWindow('.$dossier_cible.$f.','agrandire','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no')" <?redimage("$dossier_cible$f",100,100)?>></a>
|
но линк не высвечивается.
Как сделать? | |
|
|
|
|
|
|
|
для: cccp
(13.01.2006 в 14:56)
| | Попробуй исправить так:
<a href="#">
<img src="<? echo $dossier_cible.htmlentities($f) ?>" border="0" onClick="MM_openBrWindow('<? echo $dossier_cible.$f ?>','agrandire','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no')" <? redimage("$dossier_cible.$f",100,100) ?>>
</a>
|
Т.е., если хочешь использовать значения php-переменных в javascript, то их надо "вывести" в браузер, напечатать, т.к. JavaScript это клиентский язык. Т.е. приписать echo перед переменными. | |
|
|
|
|
|
|
|
для: WebTech
(13.01.2006 в 16:24)
| | Добрый вечер.
Спасибо за помощь.
А можно ли сделать так?
'width=<? echo $dst_w ?>,height=<? echo $dst_h ?>'
Тоесть что бы popup открывался по оригинальному размеру фотки.
<a href="#"><img src="<?=$dossier_cible.htmlentities($f)?>" border="0" onClick="MM_openBrWindow('<? echo $dossier_cible.$f ?>','agrandire','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no','','width=<? echo $dst_w ?>,height=<? echo $dst_h ?>')" <?redimage("$dossier_cible$f",100,100)?>></a>
|
PS:
Прикол в том что я попробавал просто так поставить это:
'width=100,height=100'
но popup открывается не по размеру. | |
|
|
|
|
|
|
|
для: cccp
(13.01.2006 в 22:58)
| | width=<? echo $dst_w ?>,height=<? echo $dst_h ?>
работать не будет поскольку переменные $dst_w и $dst_h объявлены внутри функции и "снаружи" не видны. Можно объявить их глобальными, т.е. вначале функции написать
global $dst_w;
global $dst_h;
|
тогда они будут видны и вне функции. Но так делать не рекомендуется во избежание ошибок в коде.
Но как я понял твоя функция redimage() как раз и печатает размеры изображения, поэтому вместо
width=<? echo $dst_w ?>,height=<? echo $dst_h ?>
|
можно написать
<?redimage("$dossier_cible.$f",100,100)?>
|
Попробуй так. | |
|
|
|
|
|
|
|
для: WebTech
(14.01.2006 в 09:26)
| | Спасибо.
Получилось, но только когда я написал так:
<? redimage("$dossier_cible$f",100,100)?>
|
Тоесть без точьки.
Хотя 100 это размер уменьшенной фотки,
а я хотел что бы в Popup открывалась фотка в её оригинальном размере. | |
|
|
|
|
|
|
|
для: cccp
(14.01.2006 в 12:48)
| | Ну, вообще да, надо без точки в данном случае :-) Если хочется с точкой, тогда надо без кавычек.
А чтобы открывалась фотка с оригинальными размерами... Подставь соответствующие значения. Я думал, что ты хочешь, чтобы в popup'e открывалась уменьшенная фотка. У тебя похоже функция это и делает, пересчитывает размеры. Если хочешь оригинальные размеры, зачем тогда функция? | |
|
|
|
|
|
|
|
для: WebTech
(14.01.2006 в 16:41)
| | На страничке показывается в уменьшенном варианте загруженная фотка, а линк на popup это что бы посмотреть фотку в её оригинальном размере. | |
|
|
|
|
|
|
|
для: cccp
(14.01.2006 в 20:02)
| | Тогда, наверное, так
<?php
$size = GetImageSize($dossier_cible.$f);
$w = $size[0]; $h = $size[1];
?>
<a href="#"><img src="<?=$dossier_cible.htmlentities($f)?>" border="0" onClick="MM_openBrWindow('<? echo $dossier_cible.$f ?>','agrandire','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no','','width=<? echo $w ?>,height=<? echo $h ?>')" <?redimage("$dossier_cible$f",100,100)?>></a>
|
| |
|
|
|
|
|
|
|
для: WebTech
(15.01.2006 в 09:05)
| | Спасибо.
Огромное спасибо!
Так сработало!
WebTech,
а не подскажите как можно сделать что бы можно было бы редактировать содержимый текст?
Тот что виден здесь :
можно ли поставить рядом с этим маленький формуляр который позволит сделать это
<form name="form" method="post" action="...">
Выбрать: <input type="checkbox" name="checkbox" value="checkbox">
<input type="submit" name="Submit" value="отредактировать">
</form>
|
Ну и естественно что бы содержимое высвечивалось в текстовом формуляре:
<form name="form" method="post" action="...">
<textarea name="text" cols="20" rows="5"></textarea>
<input name="save" type="button" value="SAVE">
</form>
|
Понимаете что я имею в виду?
Я вот попытался сам переделать один скрипт, но чего-то ничего не получилось.
Видемо потому что скрипт сам по себе был сделан для формуляра где надо было в ячейки писать название файла который ти хочеш редактиравать.
<?php
if(isset($_POST['content']))
{
$fd = @fopen($_POST['filename'],"w");
if(!$fd) exit("Такой файл не сушествует !<br><br><a href=\"#\" onclick=\"history.go(-1);return(false)\">Назад</a>");
fwrite($fd,stripslashes($_POST['content']));
fclose($fd);
$_GET['filename'] = $_POST['filename'];
}
?>
<form action = "1.php" method="get">
<p>Выбрать:
<input type="radio" name="filename" value="<?php echo $_GET['filename']; ?>">
<input type="submit" value="Редактировать" onClick="value='Подождите...'">
</p>
<?php
// Если в строке зароса передано имя
// файла - откриваем его для редактирования
if(isset($_GET['filename']))
{
$fd = @fopen($_GET['filename'],"r");
if(!$fd) exit("Такой файл не сушествует !<br><br><a href=\"#\" onclick=\"history.go(-1);return(false)\">Назад</a>");
$bufer = fread($fd,filesize($_GET['filename']));
fclose($fd);
?>
<form action = "1.php" method="post">
Содержимое:<br>
<textarea cols=20 rows=10 name="content"><?php echo $bufer; ?></textarea>
<br>
<input type="hidden" name="filename" value="<?php echo $_GET['filename']; ?>">
<input type="submit" name="edit" value="Сохранить">
</form>
|
| |
|
|
|
|
|
|
|
для: cccp
(15.01.2006 в 18:59)
| | Это все еще относится к старому скрипту? Который начинается на
$dossier_cible = "../discography/";
Если да, то тогда немного непонятно...
Тебе надо, чтобы после загрузки файла его содержимое редактировалось?
P.S. Начни новую тему типа "продолжение темы Превращять символы в теги" | |
|
|
|
|
|
|
|
для: WebTech
(16.01.2006 в 15:46)
| | OK.
начну новую тему. | |
|
|
|
|