Преобразование базы данных в CSV и сохранение файла в папку на сервере

Мне удалось экспортировать мою базу данных в csv в качестве загружаемого файла. Однако то, что мне теперь нужно сделать, – это вместо того, чтобы создавать прямой файл .csv, который был загружен, мне нужно его просто сохранить в папку с именем «csv» на сервере. Вот мой код для текущего экспорта. Мне нужна помощь в сохранении части сервера. CHMOD в папке (csv) – 777

$today = date('Ym-d'); $select = "SELECT * FROM goldpacks WHERE date = '$today'"; $export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) ); $fields = mysql_num_fields ( $export ); for ( $i = 0; $i < $fields; $i++ ) { $header .= mysql_field_name( $export , $i ) . "\t"; } while( $row = mysql_fetch_row( $export ) ) { $line = ''; foreach( $row as $value ) { if ( ( !isset( $value ) ) || ( $value == "" ) ) { $value = "\t"; } else { $value = str_replace( '"' , '""' , $value ); $value = '"' . $value . '"' . "\t"; } $line .= $value; } $data .= trim( $line ) . "\n"; } $data = str_replace( "\r" , "" , $data ); if ( $data == "" ) { $data = "\n(0) Records Found!\n"; } header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=import.csv"); print "$header\n$data"; 

Все, что вам нужно добавить, это вызов file_put_contents() . У вас уже есть корректный формат csv в $data так что процесс записи прост:

 // $filename is whatever you need the file to be called file_put_contents("/path/to/csv/" . $filename, "$header\n$data"); 

Вместо 777 разрешений в папке csv он должен принадлежать пользователю, который веб-сервер работает как с 700 , или принадлежит группе владельцем веб-сервера как 770 .