Я использую ng-file-upload
загрузить MySQL через php.
Кодирование работает, но у меня возникают проблемы с доступом к настраиваемым полям. Кто-нибудь знает, как это происходит в php? Посмотрите на мой код, я добавляю описание поля: успех, который я хочу восстановить в коде PHP. Способ доступа сейчас с помощью $_FILES['file']['description'];
подходит как NULL
, Любая помощь будет принята с благодарностью.
JS
$scope.upload = function (files) {
console.log(files);
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: 'data/docmgmt/insert-docmgmt.php',
fields: {
'description': 'success'
},
file: file
}).progress(function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
$scope.log = 'progress: ' + progressPercentage + '% ' +
evt.config.file.name + '\n' + $scope.log;
}).success(function (data, status, headers, config) {
$scope.log = 'file ' + config.file.name + 'uploaded. Response: ' + JSON.stringify(data) + '\n' + $scope.log;
//$scope.$apply();
});
}
}
};
PHP
<?php
include('../config.php');
$doc_id = 0;
$fk_company_id = 0;
$name = "Test";
$description = $_FILES['file']['description'];
$filename = $_FILES['file']['name'];
$content = fopen($filename,'r');
fclose($filename);
session_start();
if(isset($_SESSION['uid'])) {
if ($_SESSION['username'] =="admin") //check Admin
{
$dbname = $_SESSION['dbname'];
try {
$conn = new PDO("mysql:host=localhost;dbname=$dbname", $db->id, $db->pass); //connect to db
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //error modes
//insert user details
$stmt = $conn->prepare('INSERT INTO docmgmt(doc_id, fk_company_id, name, content, description) VALUES(:doc_id,:fk_company_id, :name, :content,:description)');
$stmt->bindParam(':doc_id', $doc_id, PDO::PARAM_INT);
$stmt->bindParam(':fk_company_id', $fk_company_id, PDO::PARAM_INT);
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':content', $content, PDO::PARAM_LOB);
$stmt->bindParam(':description', $description, PDO::PARAM_STR);
//$stmt->bindParam(':fk_created_by', $_SESSION['username'], PDO::PARAM_STR);
$stmt->execute();
$return->isSuccess=1;
$return->user_id= $user_id;
}// end try
catch(PDOException $e) {
$return->error = $e->getMessage();
}//end catch
}//end isset
}//end isset
print json_encode($return);
?>
Глупый я. Прочитайте файл readme. Он отправляет данные в форме. Следовательно, чтобы получить доступ к описанию:
$description = $_POST['description']
Других решений пока нет …