Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Php 正确的权限以访问映像的文件位置_Php_Image - Fatal编程技术网

Php 正确的权限以访问映像的文件位置

Php 正确的权限以访问映像的文件位置,php,image,Php,Image,我有这个代码,我可以上传图像。以前,我在更改文件夹的路径/目录时遇到问题。现在工作正常了。我的数据库中有正确的路径,并且图像正在保存到正确的文件夹中 我的编码: <table id="details" height="100"> <tr> <td>Select Image </td> <td> : </td> <td><input type="file" name="image" c

我有这个代码,我可以上传图像。以前,我在更改文件夹的路径/目录时遇到问题。现在工作正常了。我的数据库中有正确的路径,并且图像正在保存到正确的文件夹中

我的编码:

<table id="details" height="100">
<tr>
    <td>Select Image </td>
    <td> : </td>
    <td><input type="file" name="image" class="ed"></td>
</tr>
</table>


if (!isset($_FILES['image']['tmp_name']))
{
   echo "";
}
else
{
   $file=$_FILES['image']['tmp_name'];
   $image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
   $image_name= addslashes($_FILES['image']['name']);

   $location= $_SERVER['DOCUMENT_ROOT'] . '/ehars/photo/';
   move_uploaded_file($_FILES["image"]["tmp_name"], $location .    $_FILES["image"]["name"]);
   $save=mysql_query("INSERT INTO photo (location,emp_id) VALUES ('$location','$emp_id')");                 
}

选择图像
: 
如果(!isset($\u文件['image']['tmp\u名称]]))
{
回声“;
}
其他的
{
$file=$\u文件['image']['tmp\u name'];
$image=addslashes(文件获取内容($\u文件['image']['tmp\u名称]]);
$image\u name=addslashes($\u文件['image']['name']);
$location=$\服务器['DOCUMENT\u ROOT']./ehars/photo/;
移动上传的文件($文件[“图像”][“tmp\U名称”],$位置。$文件[“图像”][“名称”]);
$save=mysql_查询(“插入照片(位置,emp_id)值('$location','$emp_id')”);
}
my db中的路径:

保存在文件夹中的图像:

但是,当我试图查看文件夹中的图片时,我无法查看它。上面写着下面的照片。我的代码有问题吗?或者我需要启用某些功能以便查看我的照片?多谢各位


尝试上载
.jpg
文件,而不是
.png
。或者使用其他照片查看器程序

照片查看器未加载
.png
文件时出现问题


基于评论中的讨论。我正在分享我用来上传图像的代码
(保存到dir)
。我也不明白你为什么要使用
addslashes()
。对不起

基本上我做的是-

  • 在我的项目文件夹中创建了
    dir

  • 为要存储的文件创建了唯一的名称,以便不会发生冲突

这是我从用户那里获取文件的html表单

<form role="form" method="post" action="save_blog.php" enctype="multipart/form-data">
<div class="form-group">  
   <label class="control-label col-sm-2" for="pwd">Image</label>      
      <div class="col-sm-2">
        <input type="file" class="filestyle" name="image_upload" data-input="false" id="file_name"><label id="name_of_image_file"></label>
      </div>
</div>
</form>

希望这将有助于解决问题。如果这没有帮助,那么使用
chmod($path,0777)
为您做了什么?我知道它是Windows的,
chmod
是GNU/Linux的一部分,但它可能会在某种程度上模拟所需的行为。此外,您可以在一些文本编辑器中打开该文件,检查它是否以所需的开头,这样您就知道它的内容是好的。这段代码有几个明显的问题。1.您从未检查
$\u文件['images']['error']
数组项和2。如果两个用户使用相同的文件名,您将覆盖图片。3.天堂只知道所有的
addslashes
内容都是关于什么的。这个错误不是因为你的代码,而是尝试上传任何其他
扩展名
图像,然后用其他
照片查看器
应用程序打开。检查是否出现相同的错误。因为我与您的操作方式相同,并且与我的工作关系良好。您好@learner,我尝试上载不同的扩展,甚至尝试使用不同的照片查看器应用程序打开它。不幸的是,这个问题仍然存在。我还是看不到我的照片。我可以知道您使用的是什么照片查看器应用程序吗?我已经尝试过了,无法查看.jpg和.png文件。当我尝试从不同的查看器查看时也是如此。它仍然无法查看。
$temp = explode(".",$_FILES["image_upload"]["name"]);
$unique_name_of_image = date('y-m-d') . "_".$user_id ."_".rand(1,9999)."." .end($temp);
$file_location = "$target_dir".$unique_name_of_image;

if (move_uploaded_file($_FILES["image_upload"]["tmp_name"], $file_location)) {
//this prints the location of the file stored
#echo "$target_dir".$unique_name_of_image; echo "<br>";

    #$insert_blogs_with_image --> this is my insert string 

    save_to_database($insert_blogs_with_image);         
} else {
                #echo "Sorry, there was an error uploading your file.";
}