Php 是否手动设置$\u文件值?(正在尝试从URI上载,并希望使用现有代码)
我正在尝试将imageboard脚本添加到Kusaba X中,这是一种从远程位置上传文件的方法 该类对Php 是否手动设置$\u文件值?(正在尝试从URI上载,并希望使用现有代码),php,file,post,upload,Php,File,Post,Upload,我正在尝试将imageboard脚本添加到Kusaba X中,这是一种从远程位置上传文件的方法 该类对$\u文件['imagefile']['name']和$\u文件['imagefile']['size']进行了大量检查,希望将它们重新用于从远程URI上载文件。在upload.class.php中,我有一个变量,其中包含我要上传的pic的URI。我不想把它全部重写,制作一大堆if/else,或者实际上复制那些代码,我在想是否有办法使用它们 已尝试($imgURI是文件的http://位置):
$\u文件['imagefile']['name']
和$\u文件['imagefile']['size']
进行了大量检查,希望将它们重新用于从远程URI上载文件。在upload.class.php
中,我有一个变量,其中包含我要上传的pic的URI。我不想把它全部重写,制作一大堆if/else,或者实际上复制那些代码,我在想是否有办法使用它们
已尝试($imgURI是文件的http://位置):
及
但是没有运气
我可以创建一个主变量来运行所有检查,并进行大量查找和替换,但它应该包含什么
希望问题足够清楚,我已经有一段时间没有使用PHP了,所以我可能遗漏了一些明显的东西。感谢您对此提出任何想法。美元文件阵列不太可能支持下载远程文件。尝试使用curl将文件下载到临时位置,然后在$\u FILES数组中指定该位置
$\u FILES['imagefile']['name']
包含客户端PC上的文件名,在本地系统上命名永久文件时,该文件名通常仅用作提示。包含可读取文件名的$\u FILES
元素是$\u FILES['imagefile']['tmp\u name']
但是,这通常应为本地文件名。它通常用于move\u-uploaded\u-file($\u-FILES['imagefile']['tmp\u-name'],$permanent\u-file)
等代码中。这基本上只是重命名临时文件,不适用于URL。您的代码
$imagefile_name = fopen($imgURI,"rb");
$_FILES['imagefile']['name'] = $imagefile_name;
打开远程URI,但将资源设置为文件名
此操作失败,因为是文件名
将远程文件的内容保存到临时文件,并将其名称设置为$\u FILES['imagefile']['name']
然而,这种方法的味道是:我不会假设将$\u文件['imagefile']设置为在每个新版本的PHP中工作
$imagefile_name = fopen($imgURI,"rb");
$_FILES['imagefile']['name'] = $imagefile_name;
$imagefile_name = fopen($imgURI,"rb");
$_FILES['imagefile']['name'] = $imagefile_name;