使用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 下拉列表?