PDA

View Full Version : سوال: اپلود عکس از لینک



mehrdad1991h
چهارشنبه 04 بهمن 1391, 10:38 صبح
سلام
قبلا یه سایت بود به ام
lulz
که از طریق لینک میشد توش عکس اپلود کرد
اومده بودن براش یه اسکریپت درست کرده بودن که این بود



<?php
function lulzremote($url) {
$source = file_get_contents("http://lulzimg.com/upload.php?submit=lulz&url=$url");
preg_match('/\[IMG\](.*)\[\/IMG\]/', $source, $match);
return $match[1];
}

$url = 'http://www.google.co.uk/images/icons/product/chrome-48.png';
echo lulzremote($url);
?>

از طریق این اسکریپت میشد عکس را از یه سایتی دیگه اپلود کرد تو سایتش

الان اون سایت
lulz
نابود شده رفته
حالا خیلی سایت های دیگه هستن که قابلیت ارسال و اپلود عکس از طریق لینک را دارا میباشند
نمونش

http://up.vbiran.ir/index.php?url=1
ولی خوب اسکریپتی چیزی برا این ها نیست
من دیدم همون اسکریپت دقیقا همین کار را انجام میده فقط باید این قسمتش درست بشه
) {

http://lulzimg.com/upload.php?submit=lulz&url=$url
دقیق تر بخوام بگم باید این قسمت

?submit=lulz&url=$url
تغییر پیدا کنه


الان کسی میدونه چجوری میشه فهمید این قسمت را چجوری باید تغییرش بدیم ؟
از کجای سایت میشه فهمید
ایا کسی هست کمک کند ؟

Mohsen.
چهارشنبه 04 بهمن 1391, 11:40 صبح
آدرس رو با روش پست میفرسته. فکر کنم باید از cURL استفاده کنید. البته من در این زمینه اطلاعات ندارم. دوستان هستند.

siavashsay
چهارشنبه 04 بهمن 1391, 12:07 عصر
دوست عزیز !
این کد رو من خودم استفاده میکنم ! با CURL هست ! کافیه که لینک عکس رو در به عنوان متغیر GET در URL بدید و بعد یک پوشه به نام images در مسیر همین فایل بسازید و فایل رو اجرا کنید !


<?php
if(isset($_GET['url'])){
$mixUrl=$_GET['url'];
$name=time();
$ch = curl_init ($mixUrl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$raw=curl_exec($ch);
curl_close ($ch);
$fp = fopen("images/".$name.".png",'x');// میتونید مسیر پوشه مورد نظر برای آپلود عکس رو توی سرور خودتون بدید
if(fwrite($fp, $raw)){
return 1;
}else{
return 0;
}
fclose($fp);
}

?>


نحوه استفاده :

http://yoursite.com/img.php?url=http://images.persianblog.ir/199645_MtwkxGAR.jpg
موفق باشید :)

mehrdad1991h
چهارشنبه 04 بهمن 1391, 12:17 عصر
اقا چرا هیچ کس متوجه نیست من چی میگم :(
بابا عکس تو سرور من نمیاد
میخوام بفرستمش تو هاست های رایگان که برای اپلود تصاویر موجود است (که البته اپلود از طریق لینک را پشتیبانی میکنن )
مثلا میخوام تو سایت up.vbiran.ir (http://up.vbiran.ir/index.php?url=1) اپلودش کنم که البته از خودم هم نیست
مشکل الان اینجاس که چجوری با پی اچ پی عکس را بفرستم برای سایت up.vbiran.ir (http://up.vbiran.ir/index.php?url=1)

کسی میفهمه من چی میگم ؟

Reza1607
چهارشنبه 04 بهمن 1391, 12:29 عصر
خوب دوست عزيز شما بايد از همون cURL استفاده كنيد چون اون سايت داره اطلاعات رو به صورت post دريافت مي كنه و اسم فيلدي كه بايد ادرس عكس داخلش قرار بدين userfile[] هستش و من با cURL كار نكردم وگرنه كدش رو براتون قرار مي دادم

mehrdad1991h
چهارشنبه 04 بهمن 1391, 12:33 عصر
خوب دوست عزيز شما بايد از همون cURL استفاده كنيد چون اون سايت داره اطلاعات رو به صورت post دريافت مي كنه و اسم فيلدي كه بايد ادرس عكس داخلش قرار بدين userfile[] هستش و من با cURL كار نكردم وگرنه كدش رو براتون قرار مي دادم

ممنون
ببخشید دوستان در این بین کسی هست که با cURL کار کرده باشه و بتونه بگه ما الان باید چی کار کنیم ؟

Reza1607
چهارشنبه 04 بهمن 1391, 12:46 عصر
شما مي تونيد از لينك زير استفاده كنيد
http://us2.php.net/manual/en/book.curl.php
و همين طور از جوابي كه سياوش خان دادن هم مي تونيد استفاده كنيد فقط يكمي بايد تغيير بدين

siavashsay
چهارشنبه 04 بهمن 1391, 15:20 عصر
دوست عزیز !
چرا آدرس اشتباه میدی ؟!!!!
آدرسی که سایت up.vbiran.ir برای مقادیر POST برای آپلود میگیره اینه : http://up.vbiran.ir/upload.php?url=1
به هر حال این کد - تست کردم - عکس میفرسته اونم آپلود میکنه !

<?php
$url = "http://up.vbiran.ir/upload.php?url=1";


$post_data['userfile[]'] = "http://www.yoursite.com/image.png";// بجای این آدرس میتنید آدرس عکس مورد نظر خودتون رو بگذارید !

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_VERBOSE, 1);

$response = curl_exec($ch);

echo $response;
?>
توی اون قسمت آدرسی که مربوط به آدرس عکس هست - آدرس عکس خودتو بذار ! البته از روی سیستم نباشه ! آدرس وب سایت باشه !
موفق باشید !

siavashsay
چهارشنبه 04 بهمن 1391, 15:36 عصر
یه چیز دیگه !
اگر میخواید که مقدار فیلد عکس رو هم بگیرید میتونید از این کد استفاده کنید !
منظورم اینه که وقتی شما فایل رو آپلود میکنید به اون لینک آپلود شده عکس هم نیاز دارید ! مثلا میخواید به کاربرتون بگید که آدرس آپلود شده عکستون این هست !
این کار رو میتونید با jQuery انجام بدید !
چناچه مایل هستید کد صفحه زیر رو کامل ذخیره و اجرا کنید : به صورت PHP البته !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(e) {
var a=$('[name="option"]').val();
alert(a);
});
</script>
</head>

<body>
<?php
$url = "http://up.vbiran.ir/upload.php?url=1";


$post_data['userfile[]'] = "htt://www.youriste.com/image.png";// بجای این آدرس میتنید آدرس عکس مورد نظر خودتون رو بگذارید !

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_VERBOSE, 1);

$response = curl_exec($ch);

echo $response;
?>
</body>
</html>
بعد از اجرا کردن آدرس آپلود شده عکس به صورت Alert JS بهتون نشون داده میشه !
موفق باشید

mehrdad1991h
چهارشنبه 04 بهمن 1391, 16:51 عصر
sسلام
کاملا نا امید شده بودم نشسته بودم داشتم اموزش هاش را تو نت میخوندم که یاد بگیرم ببینم چجوریه و چی کار میکنه
گفتم یه سر اینجا بزنم دیدم کد ها را گذاشتید ::خجالت::قلب:
اقا ممنون

siavashsay
چهارشنبه 04 بهمن 1391, 16:52 عصر
خواهش میکنم ! :)

siavashsay
یک شنبه 08 بهمن 1391, 17:57 عصر
دوست عزیز !
این اسکریپت رو با کمک دوستمون Sadegh Barzegar نوشتم !
فایل upload_remote.php رو اجرا کن !
توی این اسکریپت کافیه که شما آدرس URL عکس مورد نظرتو رو از تو اینترنت بدی !
بعد خود اسکریپت فایل رو توی سایت vbiran.ir آپلود میکنه و عکس رو همراه با آدرس URL آپلود شده به شما نشون میده !
موفق باشید !