无法在我的wamp上保存视频(php)

时间:2014-05-02 12:44:56

标签: php ajax wamp

你好,我是网络开发的新手,并试着不问简单的问题。 我正在尝试使用php将带有ajax的上传文件保存到我的wamp中,但我的代码只允许保存.jpg和.doc文件。 这是带上传按钮的代码:

<!DOCTYPE html>

<body>

<input name="file" id="file" type="file" />
<br /><br />
<progress id="progress"></progress>

<script>

var fileInput = document.querySelector('#file'),
    progress = document.querySelector('#progress');

fileInput.onchange = function() {

    var xhr = new XMLHttpRequest();

    xhr.open('POST', 'community.php');

    xhr.upload.onprogress = function(e) {
        progress.value = e.loaded;
        progress.max = e.total;
    };

    xhr.onload = function() {
        var uploadStatus = document.getElementById("finish");
        document.getElementById('finish').innerHTML = 'Upload done !';      
    };

    var form = new FormData();
    form.append('file', fileInput.files[0]);

    xhr.send(form);

};

</script>

<p id="finish">
</p>

以下是POST请求的处理代码:

$error    = NULL;
$filename = NULL; 

if (isset($_FILES['file']) && $_FILES['file']['error'] === 0) {

    $filename = $_FILES['file']['name'];
    $targetpath = getcwd() . '/' . $filename; // On stocke le chemin où enregistrer le fichier

    // On déplace le fichier depuis le répertoire temporaire vers $targetpath
    if (@move_uploaded_file($_FILES['file']['tmp_name'], $targetpath)) { // Si ça fonctionne
        $error = 'OK';
        try
        {
                $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
                echo "it worked" ;
        }
        catch(Exception $e)
        {
            die('Erreur : '.$e->getMessage());
        }
        $result= $_FILES['file']['name'];
        $bdd->exec("INSERT INTO videos(Name) VALUES('$result')");
        echo $result;
    } 

    else 
    { // Si ça ne fonctionne pas
        $error = "Failure of uploading";
    }
} else 
    {
    $error = 'No videos uploaded!';
    }


  if(isset($_POST["community.php"]))
      {

          $Location = $_POST["community.php"];
          FileFunc($Location);
      }

      function FileFunc($Location){

      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $Location);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $myFile = curl_exec($ch);
      curl_close($ch);
 $file = 'myFile.pdf';
 file_put_contents($file, $myFile);
 }

最后一行javascript:

window.top.window.uploadEnd("<?php echo $error; ?>", "<?php echo $filename; ?>");

奇怪的是$ file ='myFile.pdf';它不能与.pdf文件一起使用,只保存.doc文件。当我放入'myFile.jpg'时,图片会保存在wamp中,但是当我尝试任何视频扩展时,它都无效...

我尝试使用之前上传和保存文件,它从不保存超过10mb的文件,任何人都可以确认我是否正常?

感谢您的时间。

15.00 gmt时更新: 在我最近对此问题的评论之后,这与Iframe的问题相同:

带按钮的代码:

<form id="uploadForm" enctype="multipart/form-data" action="upload.php" target="uploadFrame" method="post">
    <label for="uploadFile">Image :</label>
    <input id="uploadFile" name="uploadFile" type="file" />
    <br /><br />
    <input id="uploadSubmit" type="submit" value="Upload !" />
</form>

服务器答案(上一个upload.php的较轻版本):

0 个答案:

没有答案