我创建了一个使用网络服务上传图片的功能。
$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()
之后不返回工作那么为什么?
任何帮助都会受到赞赏
答案 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);
}
感谢您的时间..