使用jQuery Ajax和PHP从URL上传图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jQuery Ajax和PHP从URL上传图像相关的知识,希望对你有一定的参考价值。

有图片的网址,需要在我的服务器上传。

html中的JS代码:

var regExp = /^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch/)|(?v=|&v=))([^#&?]*).*/;
var match = link.match(regExp);
var img = "http://i.ytimg.com/vi/"+match[8]+"/hqdefault.jpg";

jQuery.ajax({
    url: 'youtubeimages/upload.php',
    method: 'POST',
    data: img
});

upload.php的:

<?php
    if($_FILES["file"]["name"] != '')
    {
     $test = explode('.', $_FILES["file"]["name"]);
     $ext = end($test);
     $name = rand(100, 999) . '.' . $ext;
     $location = './upload/' . $name;  
     move_uploaded_file($_FILES["file"]["tmp_name"], $location);
     echo '<img src="'.$location.'"/>';
    }
?>

但没有成功......如何上传?

或者如何将这个链接传递给这个PHP脚本?

<?php
$content = file_get_contents("U_R_L");
$fp = fopen("upload/image.jpg", "w");
fwrite($fp, $content);
fclose($fp);
?>
答案

好的。我最终创建了“YouTube缩略图下载器”,但如果您有任何其他好主意,请更正。

JS:

var regExp = /^.*((youtu.be/)|(v/)|(/u/w/)|(embed/)|(watch/)|(?v=|&v=))([^#&?]*).*/;
var match = link.match(regExp);
var videoId = match[8];

jQuery.ajax({
    url: 'youtubeimages/upload.php',
    data: {videoId: videoId}
});

PHP:

<?php
$videoId = $_GET['videoId'];
$path_to_save_thumbnails = "";
$ch = curl_init();
$thubnail_types = array('hqdefault');

foreach($thubnail_types as $type) 
{
    $youtube_thumb_url = 'http://img.youtube.com/vi/'.$videoId.'/'.$type.'.jpg';

    curl_setopt($ch, CURLOPT_URL, $youtube_thumb_url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $image = curl_exec($ch);
    $info = curl_getinfo($ch);

    if($info['http_code'] == 200) {
        file_put_contents($path_to_save_thumbnails.$videoId.'.jpg', $image);
    }
}

curl_close($ch);

以上是关于使用jQuery Ajax和PHP从URL上传图像的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 Bootstrap 的模态对话框、jQuery、AJAX 和 PHP 将图像上传到服务器?如果是怎么办?如果不是,那是啥原因?

如何使用带有 json 和 php 的 jquery 的 $.ajax 函数上传文件

如何使用 jquery、ajax 和 php 在数据库中保存图像文件 (BLOB)

jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表?

通过 jQuery + Ajax 将带有 Google reCaptcha v2 令牌的图像文件发送到 PHP

使用 AJAX Jquery 以 JSON 格式显示检索到的图像 URL