Javascript 使用aviary时出现文件获取内容错误
我已经将aviary嵌入到我的网页中,它工作正常,但我无法使用file_get_contents命令抓取保存的图像 鸟类代码: JS: HTML: 根据aviary文档,我可以获取aviary服务器上创建的临时文件,但使用以下php代码:Javascript 使用aviary时出现文件获取内容错误,javascript,php,jquery,aviary,Javascript,Php,Jquery,Aviary,我已经将aviary嵌入到我的网页中,它工作正常,但我无法使用file_get_contents命令抓取保存的图像 鸟类代码: JS: HTML: 根据aviary文档,我可以获取aviary服务器上创建的临时文件,但使用以下php代码: <?php $image_data = file_get_contents($_REQUEST['url']); file_put_contents("photo.jpg",$image_data); ?> 当我运行此命令时
<?php
$image_data = file_get_contents($_REQUEST['url']);
file_put_contents("photo.jpg",$image_data);
?>
当我运行此命令时,它会与此错误一起出错
[2013年9月24日12:14:16 UTC]PHP警告:文件获取内容[function.file get contents]:文件名在
有没有人对我如何抓取在aviary服务器上创建的文件并将副本上载到我的服务器有任何经验
更新
我注意到服务器上添加了一个名为“photo.jpg”的文件,文件大小为0kb。我假设这是来自文件\u put\u contentsphoto.jpg,$image\u data;但是图像数据是空白的,因为如果文件获取内容,这是错误的
有什么想法吗?请检查服务器上是否允许url\u fopen=0 如果其值为1,则文件\u获取\u内容无法工作
在这种情况下,您可以使用curl鸟舍发帖返回到您选择的URL,并链接到保存在其服务器上的文件。因此,您需要使用上面的服务器端代码片段在服务器上添加路由,并确保您指定的姿势是服务器上调用此代码的URL。我也遇到了同样的问题,这个答案现在可能有点晚了,但我通过这种方式解决了这个问题。这不是最好的方法,但确实有效 在javascript中更改以下内容:
onSave: function(imageID, newURL) {
var img = document.getElementById(imageID);
img.src = newURL;
},
为此:
onSave: function(imageID, newURL) {
var img = document.getElementById(imageID);
img.src = newURL;
var old_image = $('#oldimage').val(); //this is a hidden field with the HTML LINK for the original image on your server
$.ajax({
url : 'PHP Processing page',
type : 'POST',
dataType : 'JSON',
data : {oldimage : old_image, newimage : img.src},
success : function (json) {
console.log(json);
}
});
}
HTML:
只要allow\u url\u fopen设置为on/1,这将起作用
您不需要添加
姿势:
我想用这种方式来做
由于这篇文章很老,如果你找到了一个好方法,你会分享吗?根据我的phpinfo文件,allow\u url\u fopen在本地和Master中设置为“on”,文件“photo.jpg”正在上载到服务器,但文件大小为0kb,所以有些东西在工作,但我只是不完全理解代码文件的内容是文件内容上面的一行
onSave: function(imageID, newURL) {
var img = document.getElementById(imageID);
img.src = newURL;
},
onSave: function(imageID, newURL) {
var img = document.getElementById(imageID);
img.src = newURL;
var old_image = $('#oldimage').val(); //this is a hidden field with the HTML LINK for the original image on your server
$.ajax({
url : 'PHP Processing page',
type : 'POST',
dataType : 'JSON',
data : {oldimage : old_image, newimage : img.src},
success : function (json) {
console.log(json);
}
});
}
<input id="oldimage" type="hidden" value="ORIGINAL IMAGE" />
<button class="button special fit" onclick="return launchEditor('image1', 'ORIGINAL IMAGE');">Edit This Image</button>
$default = getenv("DOCUMENT_ROOT");
define("SITEROOT",$default."/yoursite/");
define("SITEHTMLROOT", "http//www.yoursite.com/");
$oldimage = str_replace(SITEHTMLROOT, SITEROOT, $_POST['oldimage']);
$newimage = $_POST['newimage'];
copy($newimage, $oldimage);