PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 14
cidldx Отправлено: 26 Мая, 2016 - 12:25:38 • Тема: glob и сортировка по дате • Форум: Вопросы новичков

Ответов: 5
Просмотров: 395
Спасибо что отклинулись! Строитель, в вашем коде много багов, но всеравно огромное спасибо что не прошли мимо.

Посмотрев Ваш код появились какие то мысли и смог реализовать задуманое.

Выкладываю код, может кому пригодиться.

CODE (htmlphp):
скопировать код в буфер обмена
  1. $files = array();
  2. foreach (glob('/home/ИМЯ/upload/*.mp4') as $fall) $files[$fall] = filectime("$fall"); {
  3. arsort($files);
  4. $files = array_keys($files); }
  5. foreach ($files as $all) : ?>
  6. <input type="checkbox" name='qq[]'  value="<?PHP echo substr($all, 22);  ?>"  > <?PHP echo date("F d Y H:i", filectime($all)), '&nbsp;&nbsp;|&nbsp;&nbsp;',  substr($all, 22);  ?> <br />  <?PHP endforeach ?>
  7. <input type="submit" value="Записать в плейлист" />
  8. </form>
cidldx Отправлено: 26 Мая, 2016 - 09:35:44 • Тема: glob и сортировка по дате • Форум: Вопросы новичков

Ответов: 5
Просмотров: 395
А это что?

Ругается на синтакс. не ожиданый [
cidldx Отправлено: 25 Мая, 2016 - 13:07:26 • Тема: glob и сортировка по дате • Форум: Вопросы новичков

Ответов: 5
Просмотров: 395
Подскажите пожалуйста как сделать так чтобы файлы в форме сортировались по дате изменения. Зарание благодарю.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <form action= "skript.php" method="POST">
  2.     <?PHP foreach (glob('*.mp4') as $all) :  ?>
  3.         <input type="checkbox" name='qq[]'  value="<?PHP echo substr($all, 22);  ?>"  > <?PHP echo date("F d Y H:i", filectime($all)) , "  |  " ,  substr($all, 22);  ?$
  4. <input type="submit" value="Записать" />
cidldx Отправлено: 23 Мая, 2016 - 23:40:32 • Тема: Не создается форма • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
Хочу выразить огромную благодарность Строителю!
Исходный код помог написать именно он!

Ловите готовый скрипт (осталось чуть подкоректировать чтоб пути не писал в html, но это уже мелоч)

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = 'data.txt';
  3. $file22 = '/home/[i]ИМЯ[/i]/upload/playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.  file_put_contents($data, serialize($_POST['qq']));
  6.  header('Location: '. $_SERVER['PHP_SELF']);
  7.  exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.  echo "<strong>Файлы в плейлисте:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.  file_put_contents($file22, $name . "\r\n" , FILE_APPEND);
  14.  echo $name .'<br />';
  15. }
  16. ?>
  17. <hr />
  18. <form action= "playlist.php" method="POST">
  19.     <?PHP foreach (glob('/home/[i]ИМЯ[/i]/upload/*.mp4') as $all) :  ?>
  20.         <input type="checkbox" name='qq[]'  value="<?PHP echo  $all;  ?>"  > <?PHP echo $all; ?> <br />  <?PHP endforeach ?>  <input type="submit" value="Записать в плейлист" />
  21. </form>
  22. <a href="index.html">Выйти на главную</a>


Проблема была в том что value надо писать с <?PHP?> а не просто <??> и конечно же echo Радость

Вопрос можно считать закрытым. Надеюсь данная тема кому нибудь поможет.
cidldx Отправлено: 23 Мая, 2016 - 17:16:49 • Тема: Не создается форма • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
Подкоретировал код
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = 'data.txt';
  3. $file22 = 'playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.  file_put_contents($data, serialize($_POST['qq']));
  6.  header('Location: '. $_SERVER['PHP_SELF']);
  7.  exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.  echo "<strong>Вы записали в плейлист следующие файлы:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.  file_put_contents($file22, "/var/www/http/" . $name . "\r\n" , FILE_APPEND);
  14.  echo $name .'<br />';
  15. }
  16. ?>
  17. <hr />
  18. <form action= "12.php" method="POST">
  19.     <?PHP foreach (glob('*') as $all) :  ?>
  20.         <input type="checkbox" name='qq[]'  value=<?PHP '$all'  ?>  <br />  <?PHP '$all' ?> <br />  <?PHP endforeach ?>
  21.  <input type="submit" value="Записать в плейлист" />
  22. </form>
  23. <?PHP
  24. {
  25.    echo "$all  <br />\r\n ";
  26. }
  27. var_dump ($all);
  28. ?>
  29.  

в браузер приходит так
CODE (html):
скопировать код в буфер обмена
  1. <strong>Вы записали в плейлист следующие файлы:</strong> <br/><b<br /><b<br /><hr />
  2. <form action= "12.php" method="POST">
  3.             <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />          <input type="checkbox" name='qq[]'  value=  <br />   <br />   <input type="submit" value="Записать в плейлист" />
  4. </form>
  5. upload.php   string(10) "upload.php"


В денвере тот же код работает. Вот пример 1 чекбокса

CODE (html):
скопировать код в буфер обмена
  1. <input type="checkbox" name="qq[]" value="upload.php" <br />  upload.php  <br />


Как я понимаю он не дает в форму "$all" . Однако чекбоксы создает и ровно столько сколько папок и файлов в директории но как видно из html кода (который приходит в браузер), я вижу пустые чекбоксы в стлбец выбрав поставив 3 галочки в файл playlist.m3u записвается
CODE (Code):
скопировать код в буфер обмена
  1. /var/www/http/<br
  2. /var/www/http/<br
  3. /var/www/http/<br
  4.  


Пробовал убрать <br /> остается 1 чекбокс.


Щас оставил в 20 строке так
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="checkbox" name='qq[]'  value=<?PHP '$all'  ?>  >  <?PHP '$all' ?> <br />  <?PHP endforeach ?>

В playlist.m3u пишет
CODE (Code):
скопировать код в буфер обмена
  1. /var/www/http/
  2. /var/www/http/


Что может быть??
cidldx Отправлено: 23 Мая, 2016 - 13:45:56 • Тема: Не создается форма • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
3d_killer пишет:
var_dump($_POST); что там

Не понял. Подробнее если можно.
(Добавление)
Кстати я думаю это важно. По нажатию кнопки в строке браузера пишет
CODE (URL):
скопировать код в буфер обмена
  1. example.com/<?%20$_SERVER[%27PHP_SELF%27]%20?>
cidldx Отправлено: 23 Мая, 2016 - 09:27:48 • Тема: Не создается форма • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
Строитель пишет:
cidldx пишет:
Прописывал не помогает.
Я думаю, такой вариант вам подойдёт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $data = dirname(__FILE__) .'/playlist.m3u';
  4.  
  5. if (isset($_POST['qq'])) {
  6.     file_put_contents($data, serialize($_POST['qq']));
  7.     header('Location: '. $_SERVER['PHP_SELF']);
  8.     exit;
  9. }
  10.  
  11. if (file_exists($data)) {
  12.     $names = unserialize(file_get_contents($data));
  13.     if (!empty($names)) {
  14.         echo '<b>Вы записали в плейлист следующие файлы:</b><br />'.
  15.             join('<br />', $names);
  16.     } else {
  17.         echo '<b>Записей нет!</b><br />';
  18.     }
  19. }
  20.  
  21. ?>
  22.  
  23. <hr />
  24. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  25.     <? foreach (glob('*.mp3') as $file) : ?>
  26.     <input type="checkbox" name="qq[]" value="<?=$file?>" /><?=$file?>    
  27.     <? endforeach ?>
  28.     <input type="submit" value="Записать в плейлист" />
  29. </form>
  30.  

(Добавление)
Этот код нужно сохранить в пхп-файл, а файл поместить в директорию с мп3-файлами.


Ответ сервера Огорчение Уже весь интернет вырыл не знаю в чем проблема.

CODE (code):
скопировать код в буфер обмена
  1. Notice: Undefined variable: file in /var/www/html/str.php on line 26
cidldx Отправлено: 22 Мая, 2016 - 11:31:38 • Тема: Не создается форма • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
Viper пишет:
Пути к файлам нормально пропишите.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = '/var/www/html/data.txt';
  3. $file22 = '/var/www/html/playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.   file_put_contents($data, serialize($_POST['qq']));
  6.   header('Location: '. $_SERVER['PHP_SELF']);
  7.   exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.   echo "<strong>Вы записали в плейлист следующие файлы:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.   file_put_contents($file22, "/var/www/html/" . $name . "\r\n" , FILE_APPEND);
  14.   echo $name .'<br />';
  15. }
  16.  
  17. ?>
  18. <hr />
  19. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  20.     <? foreach (glob('*') as $file) : ?>
  21.         <input type="checkbox" name="qq[]" value="<?=$file?>" <br />  <?=$file?>    <? endforeach ?>
  22.     <input type="submit" value="Записать в плейлист" />
  23. </form>
  24.  

Прописывал не помогает.
cidldx Отправлено: 19 Мая, 2016 - 13:15:03 • Тема: Не создается форма • Форум: Вопросы новичков

Ответов: 9
Просмотров: 396
Есть код который идеально работает в денвере
Но когда загрузил его на сервер он перестал работать сыпит ошибки мол не установлена переменная.
Вот код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = 'data.txt';
  3. $file22 = 'playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.   file_put_contents($data, serialize($_POST['qq']));
  6.   header('Location: '. $_SERVER['PHP_SELF']);
  7.   exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.   echo "<strong>Вы записали в плейлист следующие файлы:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.   file_put_contents($file22, "/var/www/http/" . $name . "\r\n" , FILE_APPEND);
  14.   echo $name .'<br />';
  15. }
  16.  
  17. ?>
  18. <hr />
  19. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  20.     <? foreach (glob('*') as $file) : ?>
  21.         <input type="checkbox" name="qq[]" value="<?=$file?>" <br />  <?=$file?>    <? endforeach ?>
  22.     <input type="submit" value="Записать в плейлист" />
  23. </form>


А вот что отвечает браузер:
CODE (code):
скопировать код в буфер обмена
  1.  
  2. Warning: unlink(playlist.m3u): No such file or directory in /var/www/html/skandir.php on line 8
  3. Вы записали в плейлист следующие файлы:
  4.  
  5. Warning: Invalid argument supplied for foreach() in /var/www/html/skandir.php on line 12
  6.  
  7.  
  8. Notice: Undefined variable: file in /var/www/html/skandir.php on line 21
  9.  


Помогите разабраться может модулей какихто не хватает или php.ini надо подправить?

http://codepad[dot]org/xQTzvNxa проверял на онлайн компиляторе. Ошибок нет форму строит как надо.
cidldx Отправлено: 18 Мая, 2016 - 17:53:56 • Тема: checkbox + scandir + post • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 86
Строитель пишет:
cidldx пишет:
Надо это для того чтоб пользователь загрузивший файлы на сервер мог увидить их
Ну так в чём проблема? Вот эта строка сконвертирует код из текст-файла в массив
а далее этот массив прогоняете в цикле, и получаете список файлов
PHP:
скопировать код в буфер обмена
  1. foreach ((!empty($names) ? $names : ['Записей нет!']) as $name) {
  2.     echo $name .'<br />';
  3. }
Я же этот цикл вам и написал для отображения отмеченных файлов.

С той проблемой я разобрался все работает как надо! Посмотрите выше там я выложил уже готовый отредактированый скрипт под мои нужды.
И он идеально работает в денвере, а на серваке не хочет Огорчение
cidldx Отправлено: 18 Мая, 2016 - 17:27:14 • Тема: checkbox + scandir + post • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 86
Решил проблему так
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $data = 'data.txt';
  3. $file22 = 'playlist.m3u';
  4. if (isset($_POST['qq'])) {
  5.    file_put_contents($data, serialize($_POST['qq']));
  6.    header('Location: '. $_SERVER['PHP_SELF']);
  7.    exit;
  8. }
  9. unlink($file22);
  10. $names = unserialize(file_get_contents($data));
  11.    echo "<strong>Вы записали в плейлист следующие файлы:</strong> <br/>";
  12. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  13.    file_put_contents($file22, "/var/www/http/" . $name . "\r\n" , FILE_APPEND);
  14.    echo $name .'<br />';
  15. }
  16.  
  17. ?>
  18. <hr />
  19. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  20.     <? foreach (glob('*') as $file) : ?>
  21.         <input type="checkbox" name="qq[]" value="<?=$file?>" <br />  <?=$file?>    <? endforeach ?>     <input type="hidden" id="next" />
  22.     <input type="submit" value="Записать в плейлист" />
  23. </form>


Но теперь возникла новая проблема котороя реально для меня стала головоломкой.
Вообщем на денвере все работает идеально! А вот на серваке (убунта 14, php5, apach2) какие то глюки
CODE (htmlphp):
скопировать код в буфер обмена
  1. Warning: unlink(playlist.m3u): No such file or directory in /var/www/html/skript.php on line 9
  2.  
  3. Warning: file_get_contents(data.txt): failed to open stream: No such file or directory in /var/www/html/skript.php on line 10
  4. Вы записали в плейлист следующие файлы:
  5.  
  6. Warning: Invalid argument supplied for foreach() in /var/www/html/skript.php on line 12


chmod 777 /var/www/html/ делал

может в php.ini что то не так??
cidldx Отправлено: 18 Мая, 2016 - 12:22:13 • Тема: checkbox + scandir + post • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 86
Чуть подправил под свои нужды
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $data = 'data.txt';
  4. $file22 = '123.txt';
  5. if (isset($_POST['qq'])) {
  6.    file_put_contents($data, serialize($_POST['qq']));
  7.    header('Location: '. $_SERVER['PHP_SELF']);
  8.    exit;
  9. }
  10.  
  11. $names = unserialize(file_get_contents($data));
  12.  
  13. foreach ((!empty($names) ? $names : 'Записей нет!') as $name) {
  14.    echo "/var/www/http/" . $name .'<br />';
  15.    file_put_contents($file22, "/var/www/http/" . $name . "\r\n");
  16. }
  17.  
  18.  
  19.  
  20.  
  21. ?>
  22.  
  23. <hr />
  24. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  25.     <? foreach (glob('*') as $file) : ?>
  26.     <input type="checkbox" name="qq[]" value="<?=$file?>" /> <?=$file?>    <? endforeach ?>
  27.     <input type="submit" value="Записать" />
  28. </form>



Теперь в файл 123.txt

записывает как надо, но только последнюю строку однако в браузере пишет как надо Огорчение
cidldx Отправлено: 18 Мая, 2016 - 09:32:54 • Тема: checkbox + scandir + post • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 86
Строитель пишет:
cidldx пишет:
(берет из папки файлы и строит из них чекбокс) затем post ом отправляет во второй скрипт который записывает имена файлов выбраных с помощью чекбокса в выделеный для этого файл (стирая при этом предидущие записи в этом файле)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $data = 'data.txt';
  4.  
  5. if (isset($_POST['ch'])) {
  6.     file_put_contents($data, serialize($_POST['ch']));
  7.     header('Location: '. $_SERVER['PHP_SELF']);
  8.     exit;
  9. }
  10.  
  11. $names = unserialize(file_get_contents($data));
  12.  
  13. foreach ((!empty($names) ? $names : ['Записей нет!']) as $name) {
  14.     echo $name .'<br />';
  15. }
  16.  
  17. ?>
  18.  
  19. <hr />
  20. <form action="<? $_SERVER['PHP_SELF'] ?>" method="POST">
  21.     <? foreach (glob('*') as $file) : ?>
  22.     <input type="checkbox" name="ch[]" value="<?=$file?>" /> <?=$file?>    <? endforeach ?>
  23.     <input type="submit" value="Записать" />
  24. </form>


Огромнейшее человеческое спасибо Вам!!! Но есть 1 минус в файл он записывает такой формат
CODE (htmlphp):
скопировать код в буфер обмена
  1. a:2:{i:0;s:8:"data.txt";i:1;s:10:"index.html";}

а мне нужно примерно так
CODE (htmlphp):
скопировать код в буфер обмена
  1. /var/www/html/index.html
  2. /var/www/html/data.txt

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

Если интересно могу объяснить подробнее для чего это надо.

Надо это для того чтоб пользователь загрузивший файлы на сервер мог увидить их и спомощью чекбокса мог добавлять их в плейлист (ну а плейлист выглядит так что там просто с новой строки вставлен путь к файлу)

Ну Вам все равно огромное спасибо. Уже хоть что то есть от чего можно плясать Радость
cidldx Отправлено: 17 Мая, 2016 - 16:58:02 • Тема: checkbox + scandir + post • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 86
Здравствуйте умные люди. Простите школьника что обращаюсь с таким бредом.

Вообщем нужно сделать 2 скрипта. 1 checkbox + scandir (берет из папки файлы и строит из них чекбокс) затем post ом отправляет во второй скрипт который записывает имена файлов выбраных с помощью чекбокса в выделеный для этого файл (стирая при этом предидущие записи в этом файле).

Подскажите хотя бы что гуглить а то я совсем не соображаю. Мысль есть а как реализовать ума не хватает

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB