Создание сайтов и веб-программирование

Помогите со скриптом для создания плейлиста!


← заложи эту тему или зарегистрируйся

Доброго времени суток!
Прошу помощи в создании PHP скрипка для создания плейлиста к радио сайту.

Сейчас оно работает так:


А хотелось бы так:


Как это можно реализировать?

  

В долгом одиночестве, я всё-таки чего то добился:

Форма: index.php

<form action="action.php" method="POST">

 <input type="checkbox" name="id_01" value="http://radio.ua:8000/001.m3u" />1<br />
 <input type="checkbox" name="id_02" value="http://radio.ua:8000/002.m3u" />2<br />
 <input type="checkbox" name="id_03" value="http://radio.ua:8000/003.m3u" />3<br />
 <input type="checkbox" name="id_04" value="http://radio.ua:8000/004.m3u" />4<br />

<label>
<input type="submit" name="submit" id="submit" value="отправить">
</label>

</form>


Обработчик: action.php
<?

if ($_POST){

$file=fopen('playlist.m3u','w');

fputs($file,"#EXTM3U\r\n".
                          "#EXTINF:0,Kiss FM - 1\r\n".$_POST['id_01']."\r\n".
                          "#EXTINF:0,Kiss FM - 2\r\n".$_POST['id_02']."\r\n".
                          "#EXTINF:0,Kiss FM - 3\r\n".$_POST['id_03']."\r\n".
                          "#EXTINF:0,Kiss FM - 4\r\n".$_POST['id_04']."\r\n");
fclose($file);
  echo 'Плейлист создан!';}

?>


Скрип работает но:
1. У меня больше 70-ти радиостанций...
2. С одного чекбокса вносится две строчки, а когда чекбокс не отмечен то всё равно вносится одна (название радиостанции).
3. Если отметить например только 4-ю радиостанцию, то в файле сохранится название и адрес радиостанции на 7-ой и 8-ой строчке...
4. Если не отметить ни одного чекбокса, то запись всё равно произведётся (внесётся п.2, а если бы небыло бы п.2 то просто внеслась бы пустая строчка)
5. Файл (playlist.m3u) создаётся и хранится на сервере, другой пользователь создавший на секунду позже такой плейлист перезапишит предыдущий файл, не спросивши: успел ли первый пользователь сохранить его?!

  

Привет
Я немножко усовершенствовал твой код

Обработчик action.php


<?php
if ($_POST){

$file=fopen('playlist.m3u','w');
flock($file,LOCK_EX);

$string="#EXTM3U\r\n";
if(isset($_POST['id_01'])) $string=$string. "#EXTINF:0,Kiss FM - 1\r\n".$_POST['id_01']."\r\n";
if(isset($_POST['id_02'])) $string=$string. "#EXTINF:0,Kiss FM - 2\r\n".$_POST['id_02']."\r\n";
if(isset($_POST['id_03'])) $string=$string. "#EXTINF:0,Kiss FM - 3\r\n".$_POST['id_03']."\r\n";
if(isset($_POST['id_04'])) $string=$string. "#EXTINF:0,Kiss FM - 4\r\n".$_POST['id_04']."\r\n";


fputs($file,$string);
fclose($file);

echo 'Плейлист создан!';}
?>


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

flock($file,LOCK_EX); блокирует файл на время записи. НИКТО кроме создателя не будет иметь доступ к файлу до момента вызова fclose($file);

Хотя все можно было бы организовать через массивы намного проще, если будеш заинтересован - обращайся

  
встроенная рамка Помогите со скриптом для создания плейлиста! Запрет на копирование и скачивание страниц сайта