Помощь в ПХП

Модератор: Злобный

Закрыто
Аватара пользователя
DiMoN
Отец
Сообщения: 4456
Зарегистрирован: Вт май 24, 2005 19:06
Откуда: Молдова\г. Кишинёв
Контактная информация:

Помощь в ПХП

Сообщение DiMoN »

у меня следующий вопрос: значит есть файл (прайс-лист), который клиенты каждый день качают... новый прайс заливается где-то раз в неделю.. т.е. каждый раз число в названии файла меняется... так вот вопрос: можно ли сделать так, чтобы не исправлять имя файла в коде программы, а чтобы при отправке файла, название файла в линках менялось на такое же, которое мы заливаем на сервер? т.е. объясняю:
у нас идёт файл с названием price_01_01_2006.zip, это название прописано в коде программы, которое соответсвует с названием файла на сервере. НО я хочу залить на сервер файл с названием price_08_01_2006.zip... НО в коде программы ведь останется название старого файла!? так вот, можно ли сделать так, чтобы в программном коде название старого файла автоматом переименовывалось в название нового файла? Для чего это нужно?? ну во-первых это много времени отнимает - переименовывание, т.к. находится сразу в трёх документах... во-вторых это удобно :) в общем я хочу просто знать, можно ли вообще придумать какой-либо алгоритм для подобной проблемы? Заранее благодарю :)
Аватара пользователя
sspy
Юзер
Сообщения: 88
Зарегистрирован: Пн авг 29, 2005 22:32
Откуда: iNTERNET
Контактная информация:

Сообщение sspy »

точно знаю что можно, могу немного теоретически сказать т.к. сам делать не пробовал:
нужен php файл для заливки файла на хостинг (upload.php)и price.cfg
в в файле price.cfg создаеш переменную $pricenew="" и в upload.php при заливке файла нужно указать фунцию, которая присваевает переменной $pricenew="" в price.cfg ссылку на текущий загруженный прайс, а потом просто эта переменная выводится инклудом в пхп файл откуда люди получают ссылку на скачивание.
Аватара пользователя
Ali Baba
Продвинутый
Сообщения: 463
Зарегистрирован: Ср сен 22, 2004 09:43
Откуда: оттуда все мы
Контактная информация:

Сообщение Ali Baba »

много способов, сымай легкий

сделать папку для прайса, кидать его туда
в коде страницы где ссылка на файл, добавить код для проверки есть ли файл в данной директории или нет, можно искать по расширению, например ZIP, если есть - взять его имя.

усе. если нужно конкрентно код - в приват :super:

twopac,
не вытерпел :)

вот код:
<?php
$dir = "./price/"; // директория с прайсом
$ext = "zip"; // расширение файла
$pat = "/(.*)\.".$ext."/"; // паттерн для поиска

if (is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if (preg_match_all($pat,$file,$arr))
{$name=$file;}
}
closedir($dh);
}
}
?>
<a href="<?php echo $dir.$name;?>">Скачать</a>
Аватара пользователя
DiMoN
Отец
Сообщения: 4456
Зарегистрирован: Вт май 24, 2005 19:06
Откуда: Молдова\г. Кишинёв
Контактная информация:

Сообщение DiMoN »

Ali Baba,
большое спасибо, буду сегодня разбираться...
[off]пле... вообще нифига не понимаю этот ПХП, но вот заставили по работе, приходится делать :([/off]

[off]добавлено спустя 35 минут:[/off]

Ali Baba,
ОК, тогда сл. вопрос... куда мне нужно засунуть этот программный код, если у меня следующее:
<ГЛАВНАЯ ПАПКА>
<папка>price
----> <файл>price.xls (это временное расширение)
----> <файл>date.php
<Program cod>
<?
$txt=filemtime('price.xls');
$txt1=date("d.m.Y ã. H:i:s ",$txt);
echo $txt1;
?>

<папка>banners
----><файл>logo.gif

<файл>(это уже в главной папке)date.php
<Program Cod>
<?
$txt=filemtime('PRICE\price.xls');
$txt1=date("d.m.Y ã. H:i:s ",$txt);
echo $txt1;
?>

<файл> index.htm
<Program Cod>
<html>
<head>
<title>TDN S.A.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}

function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body bgcolor="#3BAEEE" text="#000000" onLoad="MM_preloadImages('price-b.jpg')">
<br>
<br>
<table width="140" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td><img src="index.jpg" width="400" height="300"></td>
</tr>
<tr>
<td><a href="PRICE/price.xls" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Price','','price-b.jpg',1)"><img name="Price" border="0" src="price-a.jpg" width="400" height="25"></a></td>
</tr>
</table>
</body>
</html>

<файл>index.jpg
<файл>price-a.jpg
<файл>price-b.jpg

и вопрос: куда вставить и что нужно изменить в твоём/моём программном коде, чтобы всё работало??
Аватара пользователя
Ali Baba
Продвинутый
Сообщения: 463
Зарегистрирован: Ср сен 22, 2004 09:43
Откуда: оттуда все мы
Контактная информация:

Сообщение Ali Baba »

twopac,
[off]конкуренты :)[/off]
файл index.htm переиминовываешь в index.php
код который дал вставляешь перед:
<td><a href="PRICE/price.xls" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Price','','price-b.jpg',1)"><img name="Price" border="0" src="price-a.jpg"

а вместо "PRICE/price.xls" пишешь <?php echo $dir.$name;?>

привет начальству от OlleGroup :)
Аватара пользователя
DiMoN
Отец
Сообщения: 4456
Зарегистрирован: Вт май 24, 2005 19:06
Откуда: Молдова\г. Кишинёв
Контактная информация:

Сообщение DiMoN »

Ali Baba,
[off]ну а что ж делать :)... передам ;)[/off]

короче когда я навожу курсор на кнопку, показывает следующюу ссылку:
http://tdn.com.md/="./price/"
соответсвенно ничего не качает :(

[off]добавлено спустя 2 часа:[/off]

Ali Baba,
всё, огромное тебе спасибо, всё работает ;)

З.Ы. тему можно закрывать
Закрыто

Вернуться в «Программирование»