我正在构建一个讨论论坛,作为我正在构建的更大应用程序的一部分,论坛只是应用程序的一部分。
对于发布新主题或发布回复时的TextArea字段,我认为没有任何内容与PageDown Markdown Library
一样好。它与StackOverflow在其所有站点上使用的功能相同,并且比许多竞争对手更好。
图书馆出货的方式,我对默认的Insert Image
功能感到不满意。您点击按钮插入图像,它允许您输入图像的URL,然后插入正确的MarkDown语法以显示链接的图像。
这只是没有削减它。我需要你在StackOverflow上看到的功能!非常相似。
当你单击“插入图像”按钮时,我需要它来显示一个Dialog,就像现在一样,但它不仅仅是一个图像URL的输入字段,它将有2个字段选项......
upload from computer
选项所在的同一服务器,然后它将插入指向新上载图像的新图像URL!基于一些简单的HTML,如下面的一个Dialog窗口,其中包含我从计算机上传功能的文件,我已经有了。我需要提供一些JavaScript和PHP,当只使用URL文本输入字段内的URL单击按钮时,将下载/保存远程图像到我服务器上的上传文件夹。
所以它需要做一些事情......
它将成为许多恐龙服务器上安装的模块的一部分,因此它需要在尽可能多的服务器上工作!
来自网络从您的计算机
我会非常感谢任何帮助,提示,代码段或任何有助于此的内容。在这个阶段,我真的只需要构建一个nie PHP函数,它将从远程URL上传图像,并确保传入的URL是真实的图像文件,甚至更好,它在允许的文件类型数组中!
几年前,我已经开始这个了,但现在已经失去了它,我重新开始并且不会记得我当时是怎么做的。
答案 0 :(得分:2)
从远程服务器下载文件的最简单方法是使用副本(http://php.net/manual/en/function.copy.php):
copy('http://someurl.com/image.png', '/var/www/uploads/image.png');
由于此函数返回bool,因此很容易确定操作是否成功并创建JSON响应。
要验证该文件是实际图像,遗憾的是无法100%确定。虽然这可能足以检查mimetype。你可以使用finfo(http://php.net/manual/en/function.finfo-file.php):
$finfo = finfo_open(FILEINFO_MIME_TYPE);
echo finfo_file($finfo, $filename);
finfo_close($finfo);
对于gif,这将返回image / gif例如。您必须对要允许的所有mimetypes的列表进行硬编码。