[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка с изменением имени фаила
Real_EGGMAN
Извините, может быть я повторяю какую нибудь тему, но искать её на 112 страницах разделов новичков и профи очень проблематично.
Вот часть выполняющего сенария загрузки фаилов. Проблема в том, что если пользователь загрузит фаил содержащий в себе пробелы, или такой же по названию фаил уже будет, то возникнут проблемы. Пожалуйста, подскажите как его изменить что бы у первого фаила и каждого последующего имя было 1,2,3 и т.д. в самом имени фаила и ссылке на него, но сохранялось введённое, в фаиле read.txt.


if ($File) {

print ("File name: $File_name<br>");
print ("File size: $File_size.bytes<p>\n");

if (copy ($File, "files/$Rasdel/$File_name")) {

unlink ($File);


if ($File) {

$File = ("files/$Rasdel/read.txt");
$Open = fopen ($File, "a+");
$Massiv = file ($File);

if (is_writeable ($File)) {
$Write = ("<a href=$File_name class=link3 target=_blank >$File_name<br>$File_size.bytes</a>\t$Description\n");
$Write2 = fwrite ($Open, "$Write");
$Close = fclose ($Open);

$Worked = TRUE;

} else {
$Worked = FALSE;
print ("Ошибка в записи информации."); }

} else {
$Worked = FALSE;
print ("Error"); }



print ("Ваш фаил успешно загружен!");

} else {

print ("Ошибка в сохранении фаила."); }

} else {

print ("Error"); }






Спустя 2 часа, 24 минуты, 54 секунды (6.04.2008 - 18:09) vasa_c написал(а):
Воспользуйтесь тегом [ code] для того, чтобы было хоть как-то понятна вложенность блоков.
Объясните, что означают эти все переменные взявшиеся ниоткуда.
Напишите комментарии к коду, что вы делаете и где возникли вопросы.

Спустя 4 часа, 4 минуты (6.04.2008 - 22:13) Real_EGGMAN написал(а):
Цитата(vasa_c @ 6.4.2008, 19:09) [snapback]36463[/snapback]
Воспользуйтесь тегом [ code] для того, чтобы было хоть как-то понятна вложенность блоков.
Объясните, что означают эти все переменные взявшиеся ниоткуда.
Напишите комментарии к коду, что вы делаете и где возникли вопросы.



На счёт него я всё описал выше, но это не столь важно. Я бы хотел просто понять как можно каждой новой переменной $File (фаилу) менять название. Например загрузили фаил "Документ WordPad (3).doc" в переменную, и у него самого должно стать название "1", следующему "2" и т.д.
Работаю над каталогом фаилов, но никак не могу решить эту серьёзную проблему.


Код

/* Получение фаила из формы */
if ($File) {

/* Распечатка данных фаила */
print ("File name: $File_name<br>");
print ("File size: $File_size.bytes<p>\n");

/* Копирование фаила из временного хранилища в папку */
if (copy ($File, "files/$Rasdel/$File_name")) {

/* Удаление фаила из временного хранилища */
unlink ($File);


if ($File) {

/* Открытие фаила куда будут записыватся его данные */
$File = ("files/$Rasdel/read.txt");
$Open = fopen ($File, "a+");
$Massiv = file ($File);

/* Запись данных */
if (is_writeable ($File)) {
$Write = ("<a href=$File_name class=link3 target=_blank >$File_name<br>$File_size.bytes</a>\t$Description\n");
$Write2 = fwrite ($Open, "$Write");
$Close = fclose ($Open);

$Worked = TRUE;

/* Ну и закрывающие инструкции */
} else {
$Worked = FALSE;
print ("Ошибка в записи информации."); }

} else {
$Worked = FALSE;
print ("Error"); }



print ("Ваш фаил успешно загружен!");

} else {

print ("Ошибка в сохранении фаила."); }

} else {

print ("Error"); }


P.S> Надеюсь теперь обрабатывающий сенарий можно разглядеть. (извините, на форумах бываю редко)

Спустя 4 дня, 12 часов, 46 секунд (11.04.2008 - 10:13) vasa_c написал(а):
Цитата
copy ($File, "files/$Rasdel/$File_name")

Что означает каждый из двух аргументов этой функции?


И до сих пор не понятно большинство инструкций:
Цитата
/* Получение фаила из формы */
if ($File) {

Это как?

Спустя 2 часа, 15 секунд (11.04.2008 - 12:14) Real_EGGMAN написал(а):
Цитата(vasa_c @ 11.4.2008, 11:13) [snapback]36858[/snapback]
Цитата
copy ($File, "files/$Rasdel/$File_name")

Что означает каждый из двух аргументов этой функции?


И до сих пор не понятно большинство инструкций:
Цитата
/* Получение фаила из формы */
if ($File) {

Это как?



1) Первый - раздел фаила, второй имя фаила. см. ниже форму и на страничке откройте исходный код.

2) http://empireline.summerhost.info/form.html вот форма для которой этот обрабатывающий сенарий. $File - это сам фаил загруженный в форму.

Но за это время я уже практически решил задачу, остались только две проблемы:
Как можно изменить имя фаила, выделяя его параметром $File_name и не затронуть его тип, и в столбце "Колличество фаилов" число каждый раз увеличивалось на 1. Но по чему то дальше единицы не идёт.

Вот новый код.



Код
if ($File) {

/* 1 */
print ("File name: $File_name<br>");
print ("File size: $File_size.bytes<p>\n");

/* 2 - Второе имя фаила */

$File2_name = ($File_name);


/* 4 - Колличество фаилов */
$File2 = ("files/$Rasdel/nambes.txt");
$Open = fopen ($File2, "w+");

$Nambes = $File2;
$File2_name = ("$Nambes");
$File2_name = ($File2_name + "1");
$Write = fwrite ($Open, "$File2_name");

$Close2 = fclose ($Open);


/* 5 - Ссылка */
$File1 = ("files/$Rasdel/read.txt");
$Open = fopen ($File1, "a+");
$URL = ("<a href=files/$Rasdel/$File2_name class=link3 target=_blank>$File_name</a><br>$File_size.bytes\t$Description\n");
$Write = fwrite ($Open, "$URL");
$Close = fclose ($Open);

$Worked = TRUE;

/* 6 - Сохранение фаила */
if (copy ($File2, "files/$Rasdel/$File2_name")) {
$Worked = TRUE;
unlink ($File);

} else {
$Worked = FALSE;
print ("Error"); };

} else {
$Worked = FALSE;
print ("Фаила не получено"); }

Спустя 1 час, 27 минут, 2 секунды (11.04.2008 - 13:41) Real_EGGMAN написал(а):
Проблему с типом пологаю можно решить кодом $Type = strtok ($File2_name, "."); второй строкой в втором разделе, но читает символы ДО точки, а нужно после...


_____________
Мне нужна вся вселенная, и я её получу!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.