Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как записать содержимое файла в файл(mp3) ?
 
 автор: toproot   (10.07.2010 в 12:47)   письмо автору
 
 

Файлы хранятся в базе данных MySQL
При выводе из базы данных пользователю через ПХП - все в порядке выводим заголовки и файл.

А теперь мне нужно записать файл.
1. Создаю пустой файл music.mp3
2. Записываю в него соержымое поля blob.
- получается файл, нужного размера все ок, только не читается плеерами !
Почему? да при записи в базу данных исп mysql_escape_string(); а как обратно?


$aq = mysql_query("SELECT * FROM `blob_files` WHERE `id`='$key' LIMIT 1;");
  $af = mysql_fetch_array($aq);
 $fname = $sf[filename]; $fname = "./temp/$ssid/$fname";
 $f = fopen($fname, "w");
fwrite($f, $af[file]); // поле file - содержымое blob
fclose($f);

  Ответить  
 
 автор: sim5   (10.07.2010 в 16:15)   письмо автору
 
   для: toproot   (10.07.2010 в 12:47)
 

http://softtime.ru/forum/read.php?id_forum=3&id_theme=74634&page=2
Зачем держать файлы в базе?

file - зарезервированное слово, и читать в коде $af[file] - крышу сносит. И вообще, из мануала:
$foo[bar] = 'enemy';
echo $foo[bar];

Это неправильно, но работает. Тогда почему неправильно? Суть в том, что этот код содержит неопределённую константу (bar), а не строку 'bar' (обратите внимание на кавычки). Это работает, поскольку неопределённая константа конвертируется в строку с тем же именем.
Это работает, поскольку bar, по причине своего синтаксиса, ожидается как константное выражение. Однако в этом случае константа с именем bar не существует. PHP теперь принимает, что вы обозначили bar литерально как строку "bar", но что вы забыли указать кавычки.
Так почему же это неправильно?
Когда-нибудь в будущем команда PHP может добавить другую константу или ключевое слово, и у вас появятся проблемы. Например, вы уже не можете использовать слова empty и default таким способом, поскольку они являются зарезервированными ключевыми словами.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования