[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск совпадений в папке по названию файла
m4a1fox
Господа, продолжаем.... Есть вот такой метод

public function ScanDirForImage() {
$scan = scandir(self::$path);
for ($i=0; $i<count($scan); $i++) {
if($scan[$i] != '.' && $scan[$i] != '..') {
$true[] = $scan[$i];
}
}

return $true;
}

Выводит в массиве все файлы (картинки) из папки
Вопрос, как составить еще один метод, который бы при занесении нового файла в папку, выводил бы сообщение о том, что такой файл уже присутствует в папке.
Метод определяющий название файла при закачке

public function NameFile() {
return $this->ChangeNameOfImage($this->ChangeNameOfImage($_FILES["filename"]["name"]));
}


Метод (не получается составить так что бы работал) который проверяет на совпадение

public function RenameImage() {
$arr = $this->ScanDirForImage();
foreach ($arr as $key) {
if($this->NameOfImageShow() == $key){
$true = 'Match is find';
} else {
$true = 'Correct Name of File or Image';
}
return $true;
}
}


Подскажите, как правильно?



Спустя 21 минута, 51 секунда (20.07.2011 - 13:20) ZSH написал(а):
private function isFile($path, $filename)
{
return file_exists($path . $filename);
}

Спустя 10 минут, 48 секунд (20.07.2011 - 13:31) m4a1fox написал(а):
ZSH
Да, спасибо! Буду пробовать! но походу я тут в логике вообще запутался!



Спустя 9 минут, 47 секунд m4a1fox написал(а):
А не! вроде нормально все! Осталось сделать только что бы к названию добавлялось [_1] или [_2] и т.д.



Спустя 17 минут, 23 секунды m4a1fox написал(а):
ну-с господа, у кого какие идеи будут?



Спустя 23 минуты, 13 секунд m4a1fox написал(а):
Что то типо токого, только не так банально

public function RenameImage() {
if(file_exists(self::$path.$this->NameFile())) {
if(file_exists(self::$path.$this->NameFile().'1')){
$true = $this->NameFile().'2';
}
}
else {
$true = $this->NameFile();
}
return $true;
}

Спустя 1 час, 12 минут, 19 секунд (20.07.2011 - 14:43) SoMeOnE написал(а):
Лучше timestamp добовлять и проблем не будет...

Спустя 26 минут, 45 секунд (20.07.2011 - 15:10) neadekvat написал(а):

Спустя 16 минут, 26 секунд (20.07.2011 - 15:27) m4a1fox написал(а):
SoMeOnE
Цитата
Лучше timestamp добовлять и проблем не будет...

B так можно!

Спустя 1 час, 44 минуты, 50 секунд (20.07.2011 - 17:11) m4a1fox написал(а):
Объясните следующее.... Вот скрипт генерирующий имя

public function NameFile() {
$abc = 'abcdefghijklmn';
$name = substr(str_shuffle($abc), 0, 12) .'.'. $this->TypeOfImage();
return $name;
}

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

public function ImageShow() {
$true = '<br /><a href="'.self::$path.$this->NameFile().'">
<img src="'
.M4A1_HOST.self::$path.$this->NameFile().'" width="40px" height="40px"></a>';
return $true;
}

А картинка, не выводится, а не выводится потому что имя фала то уже другое((( Подтолкните на понимание.... Спасибо!

Спустя 4 часа, 16 минут, 59 секунд (20.07.2011 - 21:28) kovaldm написал(а):
Имя только закачанного файла хранится в $_FILES[*form_name*]['tmp_name'], если ты об этом.

Спустя 1 час, 25 минут, 42 секунды (20.07.2011 - 22:54) SoMeOnE написал(а):
Цитата (m4a1fox @ 20.07.2011 - 12:27)
SoMeOnE
Цитата
Лучше timestamp добовлять и проблем не будет...

B так можно!

Не понел...
Быстрый ответ:

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