Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.01.2017, 09:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну значит по какой-то "активации функции" выполняйте проверку наличия директории и создавайте ее если она не создана.
Ответить с цитированием
  #12 (permalink)  
Старый 09.01.2017, 09:37
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

А "name" - это директория в которой будет создаваться папка? И могу ли в дальнейшем использовать для создания текстового файла такой код:
<?php
if (isset($_POST['URL'])) {
$fls=fopen("name/($usrdir)/link.txt","w+");
fwrite($fls, "{$_POST['link']}");
fclose($fls);
}
?>
Ответить с цитированием
  #13 (permalink)  
Старый 09.01.2017, 09:46
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

У меня все работает с указанием явного имени директорий, но вот для того, чтобы эти директории были для каждого пользователя индивидуальные (по ID), никак не получается сообразить.
Ответить с цитированием
  #14 (permalink)  
Старый 09.01.2017, 09:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Sonya
А "name" - это директория в которой будет создаваться папка?
Я же не знаю имени каталога в котором нужно создавать каталоги пользователя, поэтому я пишу условное имя. Замените на свое реальное. Но, уж коли писать в него, нужно сперва проверить создан ли каталог пользователя, и если нет, то создать его. Об этом и говорилось ранее. А вот использовать такое:

$fls=fopen("name/($usrdir)/link.txt","w+");

конечно нельзя, ибо вряд ли в имени вашего каталога есть скобки. И вообще, не заставляйте парсер потеть зря, выискивая в строке переменные тогда, когда в этом нет необходимости.

//вот так лучше
$fls=fopen($usrdir.'/link.txt',"w+"); //коли $usrdir ранее уже определено
//а тут тем более так надо
fwrite($fls, $_POST['link']);


Учтите, что РНР по разному подходит к строковым значениям обрамленных в одинарные и двойные кавычки.

Что записывается в link.txt, почему именно директории и запись в файл?

Последний раз редактировалось laimas, 09.01.2017 в 10:06.
Ответить с цитированием
  #15 (permalink)  
Старый 09.01.2017, 10:09
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Там несколько текстовых файлов, в этот записывается ссылка (для баннера), которая потом считывается кодом на странице вывода, и делает переход (в соответствии с ссылкой) при клике по баннеру.
Ответить с цитированием
  #16 (permalink)  
Старый 09.01.2017, 10:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если в файл пишется ссылка для баннера, то для этого нужно использовать базу данных, а не файлы, которые потом еще перетаскивать в какую-то постоянную директорию.
Ответить с цитированием
  #17 (permalink)  
Старый 09.01.2017, 10:20
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Она условно "постоянная", через сутки она удаляется. Мне так легче, коснись-доведись, и редактировать текстовые файлы пользователей, да и в некоторых других файлах, считывание происходит с номеров строк.
Ответить с цитированием
  #18 (permalink)  
Старый 09.01.2017, 10:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Для вас может быть и проще в тетрадь заглядывать, но серверу при этом нет.

Есть базы данных, которые можно администрировать как инструментами существующими, так и пользовательским скриптом только то, что требуется.

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

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

Хост всегда предлагает планировщик задач, который может запускать скрипт с определенным интервалом времени, который может выполнять любые операции, включая и удаление/обновление данных в базе.
Ответить с цитированием
  #19 (permalink)  
Старый 09.01.2017, 10:37
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Абсолютно с Вами согласна, но мне пока бы так разобраться, а потом уже с БД.
Не создается папка в директории "name" так:
$usrdir = '/name/' . $usr;
А вот если так:
$usrdir = 'name' . $usr;
то создается в корне с именем name7575 7575-это ID
Ответить с цитированием
  #20 (permalink)  
Старый 09.01.2017, 10:49
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Все разобралась. Большое спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод пользователя на нужное окно в браузере oopros Общие вопросы Javascript 11 21.11.2016 15:06
React и контент в зависимости от типа пользователя hound Библиотеки/Тулкиты/Фреймворки 8 19.11.2016 21:03
Создание примитива с таким же именем как у уже существующего свойства функции lancer Общие вопросы Javascript 7 29.07.2013 20:23
Валидация пользователя по IP-адресу lazerru Общие вопросы Javascript 1 03.04.2013 12:40
Создание своей библиотеки. Создание двух одинаковых объектов. Как избежать? IDCh Javascript под браузер 2 31.10.2012 12:53