0
我在本地開發了一個小型網絡應用程序,並且所有工作都正常。部分功能允許用戶上傳MP3文件。在本地這一切都正常工作,文件被移動到正確的目錄,並可以播放。在heroku中,一切似乎都起作用,除了文件不在那裏。在Heroku環境下文件上傳不起作用
我的代碼...
標記:
<form class="form" action="../model/process-track-upload.php" method="post" enctype="multipart/form-data">
<div class="row">
<div class="col-xs-12 col-sm-4">
<div class="dashboard-widget">
<h3>Add a song to your collection</h3>
<input class="input" type="text" name="trackname" placeholder="Track Name" required/>
<input class="input-margin" type="file" name="pic" />
<input type="hidden" name="userID" value="<?php echo $userID ?>" />
<button class="btn btn-large btn-block " type="submit" name="btn-upload">upload</button>
</div>
</div>
</form>
PHP:
if(isset($_POST['btn-upload']))
{
$pic = rand(100,1000000)."-".$_FILES['pic']['name'];
$pic_loc = $_FILES['pic']['tmp_name'];
$folder="../tracks/uploads/";
if(move_uploaded_file($pic_loc,$folder.$pic))
{
?><script>alert('successfully uploaded');</script><?php
}
else
{
?><script>alert('error while uploading file');</script><?php
}
}
我不是真棒與環境配置等,因此它可能是一些對那裏發生的。
我應該補充說明,我推送到Heroku時,本地添加的文件可用。這只是使用基於Heroku的版本的應用程序添加的文件,它們沒有保存在正確的(或任何)目錄中。
感謝
如果添加'echo realpath($ folder);'那個目錄是否存在?您可能需要先創建它。試試'$ folder =「../ tracks/uploads /」; mkdir(realpath($ folder),0777,true);'看看是否解決了你的問題。 – sjdaws