Нормального программиста найми --- Добавлено --- Писать за тебя тут никто не будет, даже 3 строчки, просто не обязаны. Сама тема канет в дно.
при чем тут программист? самому хочется разобраться ну или кто может помочь(не бесплатно) по сути всегда тут задавал вопросы и получил пинок в правильном направлении а дальше уже развивал сам а тут ряду дать не могу как закинуть не в папку, а именно в БД кучу вариантов пробовал из инета и все не то
Не может у тебя в if else ничего не выводиться. Распечатывай результат echo $file включи вывод ошибок и т.д https://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display
Тебе дают код, строки, говорят куда надо и что заменить. Ты же в свою очередь не понимая что за что отвечает, косишь все наоборот, совсем не те строки и не в ту степь. Самому интересно к чему приведет все это. Либо говнокод покроют новым говном.
@yanuzay, там скорее всего клиентом бд может выступать отнюдь не сайт и даже не код PHP. Подключилась удалённо какая-нить консольная прога и стащила нуные файлы.
В бд хранится идентификаторы как ссылающийся на ячейку и на имя файла. по нахождению идентификатора, результат ( имя файла ) передается в пхп скрипт. далее: PHP: #$sql_result_name = sql.... echo file_get_contents ( "folder/folder2/$sql_result_name" ); Никакие блобы и прочий чебурятник не нужен. Привет из прошлого 2011. https://php.ru/forum/threads/keshirovanie-chto-bystree-chtenie-iz-bazy-ili-fajla.36970/#post-303959
@MouseZver, так сайт через который происходит добавление в БД на РНР, а дальше "кто первый встал, того и тапки". Другое дело, что человек не может написать не только код, но и внятно объяснить причины.
Причины внятно объяснены. Задача хранить файлы в БД(не линки неймы, а именно файлы) Чем они их будут забирать я в душе не имею. Объяснить причины так же не могу. Сказали надо хранить в БД в base 64 и все реализация на php нужна только для формы, что бы передать значения, что там дальше и как устроено мне не известно
Будем считать, что я Спойлер: психанул PHP: <?php // Включаем отображение ошибок в браузере error_reporting(E_ALL); ini_set('display_errors', 'On'); header('Content-Type: text/html; charset=utf-8'); // Модель // Параметры подключения к базе данных define('DB_HOST', 'localhost'); define('DB_USER', 'mysql'); define('DB_PASSWORD', 'mysql'); define('DB_NAME', 'test'); // Функция подключения к базе данных function connectDB() { $conn = new mysqli( DB_HOST, DB_USER, DB_PASSWORD, DB_NAME ); if( !$conn ) { echo 'Невозможно подключиться к серверу базы данных <br />'; die(mysqli_error()); } else { $query = $conn->query( 'set names utf8' ); if( !$query ) { echo 'Невозможно установить кодировку подключения к базе данных'; die(mysqli_error()); } else { return $conn; } } } // Функция инициализации таблицы function iniTable( $rdb ) { if( !$rdb ) return false; mysqli_query( $rdb, " CREATE TABLE IF NOT EXISTS `test`.`upload` ( `u_id` INT NOT NULL AUTO_INCREMENT , `u_name` VARCHAR(255) NOT NULL , `u_data` BLOB NOT NULL , `u_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY (`u_id`), INDEX (`u_name`), INDEX (`u_date`) ) ENGINE = InnoDB;" ) or die ( "Ошибка создания таблицы: ".mysqli_error() ); mysqli_query( $rdb, "TRUNCATE TABLE `test`.`upload`" ) or die ( "Ошибка очистки таблицы: ".mysqli_error() ); header( "Location: ".$_SERVER['PHP_SELF'] ); } // Функция загрузки файла в базу данных function insert_file_to_blob( $rdb ) { $file = mysqli_real_escape_string( $rdb, file_get_contents( $_FILES['file']['tmp_name'] ) ); $name = mysqli_real_escape_string( $rdb, $_FILES['file']['name'] ); $query = "INSERT INTO `upload` (`u_name`, `u_data`) VALUES( '$name', '$file' )"; $res = mysqli_query( $rdb, $query ) or die( mysqli_error($link) ); header( "Location: ".$_SERVER['PHP_SELF']."?status=1" ); } // Контроллер // Устанавливаем соединение с базой данных $link = connectDB(); $status = false; $title = 'Загрузка файла на сервер'; $action = ''; // Обработка переменной инициализации таблицы if( isset( $_GET['ini'] ) ) $action = 'iniTable'; if( isset( $_GET['status'] ) ) $action = 'upload_ok'; if( isset( $_POST['go'] ) ) { // echo '<pre>'; print_r($_FILES); echo '</pre>'; if( $_FILES['file']['error'] == 0 ) { insert_file_to_blob( $link ); } else { $action = 'upload_false'; } } switch( $action ) { case 'iniTable': iniTable( $link ); break; case 'upload_ok': $status = 'Файл успешно загружен в базу данных'; break; case 'upload_false': $status = 'Ошибка загрузки файла в базу данных'; break; } // html шаблон ?> <!DOCTYPE html> <html> <head> <meta charset='UTF-8' /> <link rel="stylesheet" href="bootstrap.min.css"> </head> <body> <div class="container-fluid"> <div class="row"> <div class="col"> </div> <div class="col-6"> <div><h2><small class="text-muted"><?php echo $title;?></small></h2></div> <?php if ($status) echo '<div><small class="text-muted">'. $status .'</small></div>'; ?> <hr /> <form action="" method="POST" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" name="go" value="Загрузить"> </form> <hr /> <div><h5><a href="?ini=1">Инициализация таблицы</a></h3></div> <hr /> </div> <div class="col"> </div> </div> </div> </body> </html> @Lexxbry, найди наконец причину, почему у тебя в бд было пусто, и напиши тут
Огромнейшее спасибо p.s. напишите куда отблагодарить вечерком оформим --- Добавлено --- да я обязательно разберу сейчас по полочкам и отпишусь по готовому результату а так Ваш вариант работает, как надо