|
|
|
| Подскажите, кто знает, как правильно задать функцию, чтобы она читала файл с любым названием, если его поместить в папку:
$str = file_get_contents("file/'[a-zA-Z]+'.'\.php'");
ошибка Warning: file_get_contents(file/"[a-zA-Z]+"."[0-9]*"."\.php") [function.file-get-contents]: failed to open stream: No error in Z:\home\localhost\www\Tests\PHP5\suzan\test.php on line 3
создан файл: cpt_file.php | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 10:45)
| | О_о
что вы такое написали....
надо открыть директорию, прочитать её, найти файл и его имя отдать file_get_contents
p.s вы сами это придумали? :) | |
|
|
|
|
|
|
|
для: psychomc
(17.11.2010 в 10:58)
| | у меня есть папка, я кладу в неё файл и функция должна считывать его, независимо от названия...
нужно, чтобы не переименовывать файл каждый раз, чтобы функция могла его считать... | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 11:47)
| | нет проблем.
php.net -> функция readdir | |
|
|
|
|
|
|
|
для: psychomc
(17.11.2010 в 11:55)
| | Спасибо psychomc! мысль хорошая, взять и считать содержимое директории.
функция не знакомая, борюсь с синтаксисом... | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 12:07)
| | переписал скрипт таким образом:
<?php
$handle = opendir('file');
$file = readdir($handle);
$str = file_get_contents($file);
выдает ошибку:
Warning: file_get_contents(.) [function.file-get-contents]: failed to open stream: Permission denied in Z:\home\localhost\www\Tests\PHP5\suzan\test.php on line 6 | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 12:28)
| | ммммм....такое чувство, что вы не заходили на эту страницу
http://www.php.net/manual/en/function.readdir.php
да и про пути не забывайте. readdir возвращает имя файла. к слову в директории есть еще файлы "." и ".." | |
|
|
|
|
|
|
|
для: psychomc
(17.11.2010 в 12:31)
| | еще раз заглянул в мануал, узнал много нового :)
не так уж то просто с помощью readdir добраться до нужного мне файла из-за "." и ".."
поэтому написал регулярное выражение \\ любая латинская буква, встречается 1 раз и более, затем ".php"
пора убегать, спасибо за поддержку, psychomc, не в первый раз помогаете! ;) | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 13:00)
| |
<?php
$dir = ".";
$files = scandir($dir);
foreach ($files as $file) {
@unlink($file);
}
|
| |
|
|
|
|
|
|
|
для: Красная_шляпа
(17.11.2010 в 13:14)
| | в корневой директории есть папка file, в которую кладется php файл, для считывания функцией file_get_content(). Чтобы каждый раз не прописывать имя файла
file_get_content('./file/...php');
| нужно придумать способ обратиться к файлу независимо...
PS. зачем тут unlink? | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 13:00)
| | пожалуйста. только по моему вы не правильно поступили
думаю надо было примерно так (если нужен первый попавшийся файл кроме . и .. )
<?php
// ..
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
// читаем нужный вам файл
$content = file_get_contents($path.$file);
// завершаем поиск
break;
}
}
// ..
?>
|
| |
|
|
|
|
|
|
|
для: psychomc
(17.11.2010 в 13:15)
| | Уважаемый psychomc, сами понимаете, что решений может быть несколько и каждое правильное. Ваш подход безусловно хорошо, но мне кажется, что можно добиться результата более лаконичным способом. | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 13:23)
| | а что если ваш файл будет иметь имя например 12345.php ? :) | |
|
|
|
|
|
|
|
для: psychomc
(17.11.2010 в 13:24)
| | можно дописать \\ любое число, встречается 0 или более раз.
сначала хочется с буквами разобраться, потом и числа добавить можно... | |
|
|
|
|
|
|
|
для: julpierto
(17.11.2010 в 13:30)
| | думаю, что не стоит везде лепить регулярные выражения, а применять их только по необходимости.
а вообще это ваше дело :) | |
|
|
|