Javascript 使用aviary时出现文件获取内容错误

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); ?> 当我运行此命令时

我已经将aviary嵌入到我的网页中,它工作正常,但我无法使用file_get_contents命令抓取保存的图像

鸟类代码:

JS:

HTML:

根据aviary文档,我可以获取aviary服务器上创建的临时文件,但使用以下php代码:

<?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);