Php 映像未从tmp目录移动到linux服务器中的另一个文件夹
我设计了一个网站,将图像作为输入,并使用ajax显示图像。它在本地运行良好,但当我将其上传到服务器时,图像没有显示。发生的过程是:1)用户上载图像2)图像默认存储在临时文件夹中3)存储在临时文件夹中的图像移动到文件夹上载4)图像显示在div中。我检查了路径,但对我来说似乎没有问题。我将发布代码以供审查:Php 映像未从tmp目录移动到linux服务器中的另一个文件夹,php,linux,apache,apache2,Php,Linux,Apache,Apache2,我设计了一个网站,将图像作为输入,并使用ajax显示图像。它在本地运行良好,但当我将其上传到服务器时,图像没有显示。发生的过程是:1)用户上载图像2)图像默认存储在临时文件夹中3)存储在临时文件夹中的图像移动到文件夹上载4)图像显示在div中。我检查了路径,但对我来说似乎没有问题。我将发布代码以供审查: <html> <head> <meta http-equiv="Content-Type" content="text/html; char
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="MainStyleSheet.css" type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="html5slider.js"></script>
<script type="text/javascript" src="scripts/jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('#file').live('change', function()
{
$("#preview").html('');
$("#preview").html('<img src="images/loader.gif" alt="Uploading...."/>');
$("#imageform").ajaxForm(
{
target: '#preview'
}).submit();
});
</script>
<script type="text/javascript">
function myfunction()
{
$("#display").html('');
$("#display").html('<img src="images/loader.gif" alt="Uploading...."/>');
$("#retrieveimageform").ajaxForm(
{
target: '#display'
}).submit();
$("#tagsform").ajaxForm(
{
target: '#tags'
}).submit();
};
</script>
<title></title>
</head>
<body>
<div id="maindiv">
<div id="banner">
<?php
include 'Header.php';
?>
</div>
<div id="wrapper">
<div id="imageupload">
<form action="uploadimage.php" method="post"
enctype="multipart/form-data" id="imageform">
<label for="file">Upload your image:</label>
<input type="file" name="file" id="file"><br>
</form>
</div>
<div id='preview'>
</div>
<div id='tags'>
</div>
</form>
<div class="clear"></div>
........................................
<div id="footer">
<?php
include 'Footer.php';
?>
</div>
</div>
<div id='screen'>
</div>
</body>
</html>
$(文档).ready(函数()
{
$('#file').live('change',function())
{
$(“#预览”).html(“”);
$(“#预览”).html(“”);
$(“#imageform”).ajaxForm(
{
目标:“#预览”
}).submit();
});
函数myfunction()
{
$(“#显示”).html(“”);
$(“#显示”).html(“”);
$(“#retrieveimageform”).ajaxForm(
{
目标:“#显示”
}).submit();
$(“#tagsform”).ajaxForm(
{
目标:“#标记”
}).submit();
};
上载您的图像:
........................................
uploadimage.php包含:
<?php
session_start();
$allowedExts=array("gif","jpeg","jpg","png");
$extension= end(explode(".", $_FILES["file"]["name"]));
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/jpg")
||($_FILES["file"]["type"]=="image/png"))
&& ($_FILES["file"]["size"]<2000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"]>0)
{
echo "Error:".$_FILES["file"]["error"]."<br>";
}
else{
// echo "Upload: ".$_FILES["file"]["name"]."<br>";
// echo "Store in: ".$_FILES["file"]["tmp_name"]."<br>";
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]);
//echo "Stored in "."upload/".$_FILES["file"]["name"];
echo "<img src='upload/".$_FILES["file"]["name"]."' class='preview' height='300' width='250'>";
$_SESSION['img']="upload/".$_FILES["file"]["name"];
}
}
else
{
echo "Invalid file";
}
?>
在服务器中,当用户提供输入时,图像不会存储在上载文件夹中,并且图像不会显示。有任何解决方案吗?:请帮助。服务器是linux服务器。问题在于文件权限。 使用以下命令
sudo chmod 777 absolute_path_of_you_dir
在Ubuntu上。问题在于文件权限。 使用以下命令
sudo chmod 777 absolute_path_of_you_dir
在Ubuntu上。你检查权限了吗?这需要调试而不是代码检查。哪一点出了什么问题?你有
var_dump()吗
ed$\u FILES
查看文件是否传输?如何分配权限?我测试了在上载文件夹中复制图像的代码,它显示了图像。如何检查图像是否传输?当我运行此命令时,我的代码回显“上载:.”$\u FILES[“file”[“name”]。“”;//echo“Store in:”.$\u FILES[“file”][“tmp_name”]。“
”;输出为Upload:3ae3e13673005.jpg Store in:/tmp/phpLsN4U8。但是当我检查tmp文件夹时,它不在服务器中。您检查权限了吗?这需要调试而不是代码检查。哪一点出了问题?您有
var_dump()
ed$\u FILES
查看文件是否传输?如何分配权限?我测试了在上载文件夹中复制图像的代码,它显示了图像。如何检查图像是否传输?当我运行此命令时,我的代码回显“上载:.”$\u FILES[“file”[“name”]。“”;//echo“Store in:”.$\u FILES[“file”][“tmp_name”]。“
”输出为Upload:3ae3e13673005.jpg Store in:/tmp/phpLsN4U8。但是,当我检查tmp文件夹时,它不在服务器中,我应该为Upload dir或tmp dir分配权限吗?我应该为Upload dir或tmp dir分配权限吗?