为什么在这个函数之后没有执行file_put_contents()代码行?

时间:2015-05-23 04:50:13

标签: php

我创建了一个使用网络服务上传图片的功能。

$image_url=time().$img_name;
$path=$_SERVER['DOCUMENT_ROOT'].'/img';
$image_url_src=$path."/".$image_url;
$current = file_get_contents($image_url_src);
$current = base64_decode($img_url);
			
$res=file_put_contents($image_url_src,$current);
chmod($image_url_src, 0777);
if($res===true)
{
  $folder_img_url1="http://www.example.com/img/".$image_url;
  $auth_error=array("img_url"	=> $folder_img_url1); 
  return json_encode($auth_error);
}

所有内容都正常运行..唯一的问题是为什么不在这行代码后返回值file_put_contents($image_url_src,$current);

如果我在file_put_contents函数之前返回任何值而不是它的工作但在调用file_put_contents()之后不返回工作那么为什么?

任何帮助都会受到赞赏

2 个答案:

答案 0 :(得分:0)

文件夹的许可有问题

首先给予许可

<?php

chmod($image_url_src, 0777);
if (file_put_contents($image_url_src,$current)!== false) {
{
  $folder_img_url1="http://www.example.com/img/".$image_url;
  $auth_error=array("img_url"   => $folder_img_url1); 
  return json_encode($auth_error);
}
  

此函数返回写入的字节数   文件,或失败时为FALSE。含义:file_put_contents永远不会   返回TRUE。但它会返回false,所以如果你坚持的话   使用布尔值,您需要使用:

答案 1 :(得分:0)

本准则对我有用......

$image_url=time().$img_name;
$path=$_SERVER['DOCUMENT_ROOT'].'/img';
$image_url_src=$path."/".$image_url;
//$current = file_get_contents($image_url_src); //this line of code is no need because of this not returning value..because it gives me an error.
$current = base64_decode($img_url);
$res=file_put_contents($image_url_src,$current);
//chmod($image_url_src, 0777);  if will remove than also its works
if($res===true)
{
  $folder_img_url1="http://www.example.com/img/".$image_url;
  $auth_error=array("img_url"   => $folder_img_url1); 
  return json_encode($auth_error);
}

感谢您的时间..