Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ant处理它这里是SQL的层次结构。在顶部,是数据库,在数据库中是表,在表行中。Nico询问是否将上传文件的数据作为一行插入就足够了。好的,正如我前面提到的,HTML会自动发送数据。在PHP端,它将作为$_FILES['input_name']数组到达,您_Html_Mysql - Fatal编程技术网

ant处理它这里是SQL的层次结构。在顶部,是数据库,在数据库中是表,在表行中。Nico询问是否将上传文件的数据作为一行插入就足够了。好的,正如我前面提到的,HTML会自动发送数据。在PHP端,它将作为$_FILES['input_name']数组到达,您

ant处理它这里是SQL的层次结构。在顶部,是数据库,在数据库中是表,在表行中。Nico询问是否将上传文件的数据作为一行插入就足够了。好的,正如我前面提到的,HTML会自动发送数据。在PHP端,它将作为$_FILES['input_name']数组到达,您,html,mysql,Html,Mysql,ant处理它这里是SQL的层次结构。在顶部,是数据库,在数据库中是表,在表行中。Nico询问是否将上传文件的数据作为一行插入就足够了。好的,正如我前面提到的,HTML会自动发送数据。在PHP端,它将作为$_FILES['input_name']数组到达,您可以从中获取$_FILES['input_name']['name']作为名称。在SQL查询中插入该名称,我强烈建议您插入行,除非必要,否则不要创建表。太糟糕了。。1) 它允许上传所有文件,包括用于攻击服务器(后门)的PHP文件2)SQL注入也


ant处理它这里是SQL的层次结构。在顶部,是数据库,在数据库中是表,在表行中。Nico询问是否将上传文件的数据作为一行插入就足够了。好的,正如我前面提到的,HTML会自动发送数据。在PHP端,它将作为$_FILES['input_name']数组到达,您可以从中获取$_FILES['input_name']['name']作为名称。在SQL查询中插入该名称,我强烈建议您插入行,除非必要,否则不要创建表。太糟糕了。。1) 它允许上传所有文件,包括用于攻击服务器(后门)的PHP文件2)SQL注入也是真实的,但不太清楚如何注入CREATE TABLE语句并获得对其他表的访问。。但您仍然必须保护它不受SQL注入的影响..我知道,准备好的语句会很好,但我赶时间.“我知道,准备好的语句会很好”一点也不会解决问题..它不会解决SQL注入问题吗?我实际上在寻找如何清理create table。似乎删除特殊字符就足够了。但正如我前面提到的,在这种情况下创建表是没有意义的。非常感谢您如此详尽的回答!!!另外,我不想在浏览器中加载这些文件,因为它们是视频(500mb-2gb),只想在缓冲区模式下播放它们。不用担心,这通常是视频文件由浏览器处理-与mp3文件相同。一定要注意查看我上面答案中的其他链接答案(请向上投票任何你觉得有用的答案)——你会发现更多有用的提示和进一步的详细解释——如果我们能提供更多帮助,请提出任何进一步的问题。
<h1>HTML5 local video file player example</h1>
<div id="message_"></div>
<input type="file" accept="video/*"/>
<video controls autoplay></video>


<script>
(function localFileVideoPlayer() {
        'use strict'
  var URL = window.URL || window.webkitURL
  var displayMessage = function (message, isError) {
    var element = document.querySelector('#message_')
    element.innerHTML = message
    element.className = isError ? 'error' : 'info'
  }
  var playSelectedFile = function (event) {
    var file = this.files[0]
    var type = file.type
    var videoNode = document.querySelector('video')
    var canPlay = videoNode.canPlayType(type)
    if (canPlay === '') canPlay = 'no'
    var message = 'Can play type "' + type + '": ' + canPlay
    var isError = canPlay === 'no'
    displayMessage(message, isError)

    if (isError) {
      return
    }

    var fileURL = URL.createObjectURL(file)
    videoNode.src = fileURL
  }
  var inputNode = document.querySelector('input')
  inputNode.addEventListener('change', playSelectedFile, false)
})()
</script>
<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile) && $_FILES['userfile']['type'] === 'image/jpeg') {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

/*for creating table, which I don't recommend*/

$sql_query = "CREATE TABLE ".$_FILES['userfile']['name']." INT(6) AUTO_INCREMENT PRIMARY KEY,
type VARCHAR(20) NOT NULL,
timestamp FLOAT
)";
$mysqli->query($sql_query);

?>
<?php
print '<form action="delete.php" method="post">
'.$_FILES['userfile']['name'].' <input type="submit" value="'.$_FILES['userfile']['name'].'" name="delete" />
</form>';
?>

<?php
$sql_query = "DROP TABLE ".$_POST['delete'];
$mysqli->query($sql_query);
?>
<?php
$stmt = $mysqli->prepare("INSERT INTO table (name, type, timestamp) VALUES (?,?,?)");
$stmt->bind_param("ssf", $_FILES['userfile']['name'], $_FILES['userfile']['name'], strtotime(date("Y-m-d H:i:s")));
$stmt->execute();
?>
<?php
$stmt = $mysqli->prepare("DELETE FROM table WHERE name = ?");
$stmt->bind_param("s",$_POST['delete']);
$stmt->execute();
?>
<?php
    $myvar = 'Bob';
?>