{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
maggy * 0.1
[автор] (22 фев 2017, 15:26) [0/0] [0] [отв] [спам] [под] +1 | -1

[code]
//~~~~~~~~~~~~~~~~~~~~~~Добавление аудиозаписи~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
case 'add_audio':
$id = intval($_GET['id']); // Это типа будет ид папки
$dirr = mysql_fetch_assoc(mysql_query("SELECT * FROM `audio_dirs` WHERE `id` = '".$id."'"*);
if($dirr = 0) {
echo '<div class="podmenu"><center><b>Папки не существует</b></center></div>';
require_once ('../system/footer.php');
exit();
}


$whitelist = array('.mp3'); # Допустимые расширения
$maxsize = 10; # В мегабайтах

if(isset($_REQUEST['ok'])){
$_POST['name'] = strong(isset($_POST['name']));
$name = strong($_FILES['file']['name']);
$name = preg_replace('#(\.\/)#Ui', NULL, $name);
$name_audio = preg_replace('#\.[^\.]*$#i', NULL, $name);
if (empty($name_audio)){
echo '<div class="podmenu"><center><b>ОШибка</b></center></div>';
require_once ('../system/footer.php');
exit();
}
$ext = strtolower(strrchr($name, '.')); # Расширение файла
$size = $_FILES['file']['size']; # Вес файла
if ($size > (1048576 * $maxsize)) {
$err='Размер файла превышает допустимое значение. [Max. '.$maxsize.'mb.]<br />';
}
if (preg_match('/.php/i', $name) || preg_match('/.pl/i', $name) || $name == '.htaccess' || !in_array($ext, $whitelist)) {
$err = 'Не верное расширение файла.';
}
if(!isset($err)){

if(!is_dir('files/'.$user['id'].'')){
if(!is_dir('files')){mkdir("files", 0777);}
if(!is_dir('files/'.$user['id'].'')){mkdir("files/".$user['id']."", 0777);}
}
mysql_query("INSERT INTO `audio_mp3` SET `name` = '".strong($name_audio)."', `user` = '".$user['id']."', `time` = '".time()."', `dir` = '".$id."'"*;
$idp = mysql_insert_id();

copy($_FILES['file']['tmp_name'], "audios/files/".$user['id']."/".intval($idp)." .".$ext.""*;

chmod("audios/files/".$user['id']."/".intval($idp).".mp3", 0666);

}
else
{
echo'<div class=podmenu>ОШИБКА: '.$err.' </div>';
require_once ('../system/footer.php');
exit();
}

$id = mysql_insert_id();
header ("Location: /audios/?act=audio&id=$idp"*;
}
echo '<div class="podmenu">';
echo '<form action=/audios/?act=add_audio&id='.$id.' method="post" enctype="multipart/form-data">';
echo 'Файл: <br/><input type="file" name="file"/><br/>';
echo '<input type=submit name =ok value=Загрузить class=submit white/></form>';
echo '</form>';
echo '</div>';

include_once '../system/footer.php';


















break;

[/code]
Добавлено 22.02.17 в 15:27:02:
Проходит все без ошибок, запись в бд идет, папка создается..
А файла в ней нет, какие могут быть причины

2.
Xsikor * 0.06
(22 фев 2017, 15:36) [0/0] [0] [отв] [спам] [под] +1 | -1

После копи сделай
$err = error_get_last();
var_dump($err);
Будет ошибка - напишет.

№2 - не надо делать два mkdir. Есть 3 параметр булевый
http://php.net/manual/ru/function.copy.php

3.
maggy * 0.1
[автор] (22 фев 2017, 15:48) [0/0] [0] [отв] [спам] [под] +1 | -1

Xsikor, ошибки нет

4. (22 фев 2017, 15:49) [0/0] [0] [отв] [спам] [под] +1 | -1

Меня тоже насторажило место с mkdir, но не сама функция а то что она делает. Ты простовляешь права папке files/ которая лежит в этом же коталоге что и файл загрузки.
А загружаеш файл в папку audios/files/ которая тоже лежит в этом же каталоге.

5.
maggy * 0.1
[автор] (22 фев 2017, 15:50) [0/0] [0] [отв] [спам] [под] +1 | -1

As, Ну на папку получается права 0777 тоесть расширенный формат...

Что по вашему мне нужно сделать?

6. (22 фев 2017, 15:53) [0/0] [0] [отв] [спам] [под] +1 | -1

maggy, нет, права ты выставлёеш верно, но куда ты загружаеш.
вот твоя структура
/папка/audio_load.php - файл загркзчик
/папка/files/ - папка которой ты выставляешь права
/папка/audios/files/ - папка в которую грузиш файл

7. (22 фев 2017, 15:55) [0/0] [0] [отв] [спам] [под] +1 | -1

maggy,
<?
copy($_FILES['file']['tmp_name'], "files/".$user['id']."/".intval($idp)." .".$ext.""*;

chmod("files/".$user['id']."/".intval($idp).".mp3", 0666);
?>
вот так попробуй

8.
maggy * 0.1
[автор] (22 фев 2017, 15:55) [0/0] [0] [отв] [спам] [под] +1 | -1

As,
немного не так

/audios/audio_load.php - файл загркзчик
/audios/files/ - папка которой ты выставляешь права
/audios/files/папка - папка в которую грузиш файл

9. (22 фев 2017, 15:56) [0/0] [0] [отв] [спам] [под] +1 | -1

maggy, но судя по твоему коду то структура та что указал я.

  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений