Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在表单上制作文件或图像附件_Php_Javascript_Html - Fatal编程技术网

Php 如何在表单上制作文件或图像附件

Php 如何在表单上制作文件或图像附件,php,javascript,html,Php,Javascript,Html,我看过一些用于上传文件和图像的PHP脚本,但没有发现它们是我所需要的 基本上我有一个表单:底部的textarea部分,我想添加一个附加图像/文件,这样当用户从他们的计算机中选择一个文件或图像时,它会在文本区域中创建某种形式的URL,这样用户就可以提交表单,而浏览者只需将URL放在他们的地址栏中下载文件或查看图像…我知道有一种方法可以将此图像或文件下载到我的webhost并让用户获得url以直接下载或查看它,但这可能是一个不可靠的做法,因为我需要创建一个cron作业来每周清理这个混乱 关于我能做什

我看过一些用于上传文件和图像的PHP脚本,但没有发现它们是我所需要的

基本上我有一个表单:底部的textarea部分,我想添加一个附加图像/文件,这样当用户从他们的计算机中选择一个文件或图像时,它会在文本区域中创建某种形式的URL,这样用户就可以提交表单,而浏览者只需将URL放在他们的地址栏中下载文件或查看图像…我知道有一种方法可以将此图像或文件下载到我的webhost并让用户获得url以直接下载或查看它,但这可能是一个不可靠的做法,因为我需要创建一个cron作业来每周清理这个混乱

关于我能做什么有什么想法吗?

是,当用户添加文件时,使用:

函数上传(文件){
//文件来自标记或拖放
//文件是图像吗?
如果(!file | |!file.type.match(/image.*/)返回;
//是的!
//让我们构建一个FormData对象
var fd=新FormData();
fd.append(“image”,file);//追加文件
附加(“键”,“6528448c258cff474ca9701c5bab6927”);
//获取您自己的密钥:http://api.imgur.com/
//创建XHR(跨域XHR FTW!!!)
var xhr=new XMLHttpRequest();
xhr.open(“POST”http://api.imgur.com/2/upload.json);//嘘!
xhr.onload=函数(){
//大胜利!
//图像的URL为:
document.getElementById('TextAreaId')。innerHTML=JSON.parse(xhr.responseText)。upload.links.imgur\u页面;
}
//好的,我不处理这些错误。这是给读者的练习。
//现在,我们发送表单数据
xhr.send(fd);
}

为什么要允许用户下载刚上传的文件。我可以理解以后的上传/存储,但现在上传和提供有点。。。多余。@Marc B:你是说像imageshack和相关的?这是因为当我在我的公司制作机票时,我想要一个屏幕截图或一个文件…我们不允许使用第三方程序或网站来完成这个过程。我只能上传图片而不能上传文件??如果我也想上传文件呢?
function upload(file) {

  // file is from a <input> tag or from Drag'n Drop
  // Is the file an image?

  if (!file || !file.type.match(/image.*/)) return;

  // It is!
  // Let's build a FormData object

  var fd = new FormData();
  fd.append("image", file); // Append the file
  fd.append("key", "6528448c258cff474ca9701c5bab6927");
  // Get your own key: http://api.imgur.com/

  // Create the XHR (Cross-Domain XHR FTW!!!)
  var xhr = new XMLHttpRequest();
  xhr.open("POST", "http://api.imgur.com/2/upload.json"); // Boooom!
  xhr.onload = function() {
    // Big win!
    // The URL of the image is:
    document.getElementById('TextAreaId').innerHTML = JSON.parse(xhr.responseText).upload.links.imgur_page;
   }
   // Ok, I don't handle the errors. An exercice for the reader.
   // And now, we send the formdata
   xhr.send(fd);
 }