PDA

View Full Version : ذخیره عکس از سایت irna در سایت خودمان



rezakhany
دوشنبه 18 اسفند 1393, 18:41 عصر
سلام
من می خواستم به صورت مستقیم عکس یک سایت رو در هاستم ذخیره کنم عکس های سایت ایرنا اصلا ذخیره نمیشه ولی با همین کد عکس سایت بارونی ها رو ذخیره میکنه
مشکل از چیه ؟
چطور می تونم عکس های ایرنا رو هم با این روش ذخیره کنم ؟؟؟؟؟؟؟؟؟/



<?PHP
$inputfile = FOPEN("http://img7.irna.ir/1393/13931218/81535077/81535077-6324597.jpg", "rb");
$outputfile = FOPEN("rezaaaa.jpg", "wb");
ECHO "File opened...";
$data = '';


WHILE (!FEOF($inputfile)) {
$data .= FREAD($inputfile, 8192);
}
ECHO "Data read...";
FWRITE($outputfile, $data);
ECHO "transfered data";
FCLOSE ($inputfile);
FCLOSE ($outputfile);
ECHO "Done.";
?>







<?PHP


$inputfile = FOPEN("http://dl.barooniha.ir/img/2015/03/wpid-2721060024.jpg", "rb");
$outputfile = FOPEN("81535077.jpg", "wb");
ECHO "File opened...";
$data = '';


WHILE (!FEOF($inputfile)) {
$data .= FREAD($inputfile, 8192);
}


ECHO "Data read...";
FWRITE($outputfile, $data);
ECHO "transfered data";
FCLOSE ($inputfile);
FCLOSE ($outputfile);


ECHO "Done.";


?>

rezakhany
دوشنبه 18 اسفند 1393, 18:42 عصر
ببخشید عنوان یادم رفت درست کنم مدیران درست کنند

Jarvis
دوشنبه 18 اسفند 1393, 19:18 عصر
با CURL امتحان کردید ؟

Goback
دوشنبه 18 اسفند 1393, 20:41 عصر
<?php
$jpg = file_get_contents('http://dl.barooniha.ir/img/2015/03/wpid-2721060024.jpg');
file_put_contents('pic.jpg' , $jpg);

rezakhany
دوشنبه 18 اسفند 1393, 21:59 عصر
با CURL امتحان کردید ؟

میشه کدش رو برام بنویسد

rezakhany
دوشنبه 18 اسفند 1393, 22:00 عصر
<?php
$jpg = file_get_contents('http://dl.barooniha.ir/img/2015/03/wpid-2721060024.jpg');
file_put_contents('pic.jpg' , $jpg);



این کار جواب داد فقط یک مشکل دارم من لینک عکس رو تو متغیر دارم یعنی باید اینطوری بنویسم



$jpg = file_get_contents('.$test.');
file_put_contents('pic.jpg' , $jpg);

اینطوری نوشتم جواب نداد

Goback
سه شنبه 19 اسفند 1393, 07:03 صبح
Try this


<?php
$file = 'http://dl.barooniha.ir/img/2015/03/wpid-2721060024.jpg';
$file_name = basename($file);
$fetched = file_get_contents($file );
file_put_contents($file_name , $fetched );

rezakhany
سه شنبه 19 اسفند 1393, 13:56 عصر
Try this


<?php
$file = 'http://dl.barooniha.ir/img/2015/03/wpid-2721060024.jpg';
$file_name = basename($file);
$fetched = file_get_contents($file );
file_put_contents($file_name , $fetched );


سلام مجدد این همه کدهایی که گفتید درست و سالم هستند و عکس رو کپی میکنن ولی شما اینو یک تست کنید



$file = 'http://img7.irna.ir/1393/13931218/81534158/81534158-6322903.jpg';
$file_name = basename($file);
$fetched = file_get_contents($file);
file_put_contents($file_name , $fetched );





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

rezakhany
سه شنبه 19 اسفند 1393, 14:02 عصر
از این روش هم برای ذخیره کردن عکس های ایرنا استفاده کردم ولی جواب نداد



function save_image($inPath, $outPath) {
$in = fopen($inPath, "rb");
$out = fopen($outPath, "wb");
while ($chunk = fread($in, 8192)) {
fwrite($out, $chunk, 8192);
}
fclose($in);
fclose($out);
}

j_naroogha@yahoo.com
سه شنبه 19 اسفند 1393, 14:41 عصر
<?php
require("./Lib/lib.php");

/**
*in class dar haghighat class asli in proje mibashad
*vazife download picture hay address dadeh shodeh ra darad
*
*
*
*/
class Downloader
{
/*
*in function
*
*@param String $Source
*@param String $des
* Return Array $images
*/

public function Download($Source,$des)
{
$html = file_get_html($_POST['txturl']);

$images=array();
$temp=array();
foreach($html->find('img') as $element)
{
if(substr($element->src,0,2)== "//")
{
$element->src='http:'.$element->src;
}
//array_push($temp,$element->src);
$filename=md5($element->src.date('ymd').time('h:m:s:').$_SERVER['REMOTE_ADDR']);
if(substr($element->src,0,4)== "http" )
{
if(!in_array($element->src,$temp))
{
$this->downloadFile($element->src,$des.$filename.".jpg");
array_push($images,$des.$filename.".jpg");
array_push($temp,$element->src);
}
}
else
{
if(!in_array($element->src,$temp))
{
$h=explode('/',$_POST['txturl']);
$url=parse_url($_POST['txturl']);
$t=$url['scheme']."://".$url['host'];
$this->downloadFile($t.$element->src,$des.$filename.".jpg");
array_push($images,$des.$filename.".jpg");
array_push($temp,$element->src);
}

}
}
return($images);
}
/*
*in function kare asli in class yani download ro anjam midahad
*url file va adress zakhire shodane file ro migire va dar maghsad copy mikonad
*@param String $url
*@param String $path
* Return anythings
*/
private function downloadFile ($url, $path)
{
if(strpos($url,"?")===false)
{}//any things
else
{
//remove $_GET Variables
$s=explode('?',$url);
$url=$s[0];
}

$newurl='';
if (preg_match("@^[a-zA-Z0-9%+-_]*$@", $url))
{
$newurl=$url;
}
else
{
//echo $url ."<br>";
$arr=explode ("/",$url ) ;
foreach($arr as $item)
{
if(!strpos($item,':'))
{
//$f = iconv("utf-8", "cp1256", $item);
$newurl=$newurl.urlencode($item).'/';
}
else
{
$newurl=$newurl.$item.'/';
}
}
$newurl=substr($newurl,0,strlen($newurl)-1);
//echo $newurl."<br/>";
}

$newfname = $path;
$file = fopen ($newurl, "rb");
if ($file) {
$newf = fopen ($newfname, "wb");
if ($newf)
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
}
}
if ($file) {
fclose($file);
}
if ($newf) {
fclose($newf);
}
return(true);

}
}
?>

این رو امتحان کنید.

rezakhany
سه شنبه 19 اسفند 1393, 15:30 عصر
خب چرا عکس های ایرنا با این کد آپلود نمیشه


$file = 'http://img7.irna.ir/1393/13931218/81534158/81534158-6322903.jpg';
$file_name = basename($file);
$fetched = file_get_contents($file);
file_put_contents($file_name , $fetched );


مگه چه فرقی با سایت های دیگه داره ؟؟؟

Goback
چهارشنبه 20 اسفند 1393, 07:01 صبح
خب چرا عکس های ایرنا با این کد آپلود نمیشه


$file = 'http://img7.irna.ir/1393/13931218/81534158/81534158-6322903.jpg';
$file_name = basename($file);
$fetched = file_get_contents($file);
file_put_contents($file_name , $fetched );


مگه چه فرقی با سایت های دیگه داره ؟؟؟

اینجا تست شد برای ایرنا موردی نداره،احتمالا تعداد درخواست بالاست ای پی رو مسدود کرده،برای فهمیدنشم :


$file = 'http://img7.irna.ir/1393/13931218/81534158/81534158-6322903.jpg';
echo $fetched = file_get_contents($file);

Tarragon
چهارشنبه 20 اسفند 1393, 08:16 صبح
احتمال این هم هست که irna سرورش داخل باشه و ip غیر ایران رو بلاک کنه مثل سرور های دانلود در soft98 !

MMSHFE
چهارشنبه 20 اسفند 1393, 08:45 صبح
عنوان مناسب برای تاپیکتون انتخاب کنید.

rezakhany
چهارشنبه 20 اسفند 1393, 12:36 عصر
اینجا تست شد برای ایرنا موردی نداره،احتمالا تعداد درخواست بالاست ای پی رو مسدود کرده،برای فهمیدنشم :


$file = 'http://img7.irna.ir/1393/13931218/81534158/81534158-6322903.jpg';
echo $fetched = file_get_contents($file);


درسته مشکل از کدنویسی نیست تشکر

rezakhany
چهارشنبه 20 اسفند 1393, 12:37 عصر
احتمال این هم هست که irna سرورش داخل باشه و ip غیر ایران رو بلاک کنه مثل سرور های دانلود در soft98 !

دمت گرم داداش مشکل فکر کنم از Ip بود روی لوکال هاست جواب داد

rezakhany
چهارشنبه 20 اسفند 1393, 12:38 عصر
عنوان مناسب برای تاپیکتون انتخاب کنید.

همانطور که همون اول نوشتم بعد از انتشار مطلب یادم اومد نام ننوشتم به خاطر همین گفتم مدیران عنوان رو ویرایش کنند