上传图像从目录到外部网站使用卷曲
好吧,我想知道是否有可能使用卷曲和上传图像从我的网站目录,而不是我的机器, 我需要做的是从我的上传图像图像目录使用文件选择一种形式,如果有人知道我需要编辑我的代码,我将不胜感激,我已经看过整个网络,但没有发现我的搜索,我想我需要文件获取内容base64编码然后我是在想这个吧?上传图像从目录到外部网站使用卷曲
$upload_url = 'http://example.com/settings/upload-img';
$file_path = 'directory/image.png';
$fields = array(
"MAX_FILE_SIZE" => "",
"fileselect[]" => $file_path
);
foreach ($fields as $key => $val) {
$post_data .= $key . '=' . $val . '&';
}
$chr = curl_init();
curl_setopt($chr, CURLOPT_URL, $upload_url);
curl_setopt($chr,CURLOPT_POST, count($fields));
curl_setopt($chr,CURLOPT_POSTFIELDS, rtrim($post_data, '&'));
curl_setopt($chr, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($chr);
curl_close($chr);
我对图像base64_encode()的想法在下面,我不确定是否正确,认为这可能工作。
$raw_img = base64_encode(file_get_contents('directory/image.png'));
然后使用 “fileselect []”=> $ raw_img
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
curl_setopt($ch, CURLOPT_URL, _VIRUS_SCAN_URL);
curl_setopt($ch, CURLOPT_POST, true);
// same as <input type="file" name="file_box">
$post = array(
"file_box"=>"@/path/to/myfile.jpg",
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
?>
似乎很多想知道什么是_VIRUS_SCAN_URL?
_VIRUS_SCAN_URL
其新主机的病毒扫描开发商。在内部将所有发送到病毒扫描模块的文件检查是否有病毒对服务器造成损害。
服务由http://virusade.com开发,但它仍处于测试模式,_VIRUS_SCAN_URL和@有api PROTOCAL。
只要他们从服务器获取文档就扫描它,如果非病毒发送到上传服务器。
这是什么'_VIRUS_SCAN_URL'表示?!?在文件路径中'@'做了什么? – arkascha 2013-03-02 17:59:10
只是为了做卷曲的内置函数和@指向文件的指针或者说说临时链接 – Vineet1982 2013-03-02 18:04:29
对不起,不可能理解,换一种说法可以再试一次吗?那'_VIRUS_SCAN_URL'呢?任何关于这个'@'的文档,如果它与curl的行为有关? – arkascha 2013-03-02 18:06:32
您是否试过php ftp – Vineet1982 2013-03-02 17:37:48
使用浏览器执行一次上传并转储网络流量。然后用你的方法做同样的事情。您可以看到不同之处,并更正您的代码。 – arkascha 2013-03-02 17:38:01
@ Vineet1982:OP尝试一个http上传,而不是ftp。 ftp协议是从80年代开始的。如果存在其他可能性,则不应再使用它。至少应该使用它的加密变体ftps或sftp。 – arkascha 2013-03-02 17:38:36