Aspire
Koineks
  • 15-01-2015, 14:19:08
    #1
    1/2
    Arkadaşlar merhaba. Elimde 1,500'e yakın resim linki var .txt formatında. Ben linkteki resimleri sunucuya çektirmek istiyorum. Resim isimlerinide otomatik olarak kelime-1.jpg, kelime-2.jpg tarzında nasıl yapabilirim?

    edit:

    sorun bendeymiş arkadaşlar. Ceu'nun verdiği kodla çektirdim resimleri teşekkürler
  • Sponsor Reklam
  • 15-01-2015, 14:33:25
    #2
    1/2
    Resim linklerinin hepsi aynı siteden mi?
  • 15-01-2015, 14:35:05
    #3
    1/2
    Hocam şöyle bir kod buldum. İşinize kesinlikle yarar diye düşünüyorum. Link burda: http://makaleci.com/php-ile-dosya-ce...irme-curl.html


    Tek yapmanız gereken iki fonksiyon oluşturmak. Birinci fonksiyona satır satır txt dosyasını okuma yaparsınız, ikinci fonksiyona da aşağıda belirttiğim fonksiyonu yazarsınız. Ne kadar bilginiz var bilmiyorum PHP konusunda ama sadece ilk satırdaki $_GET[‘v’] yerine txt dosyasındaki her satırı okucak şekilde bir değişken belirtmeniz yeterli olur.

    PHP- Kodu:
    $linkcik=$_GET[‘v’]; // Adres satirindan dosya yolunu aliyoruz ve degisekene atiyoruz.
    // Bi kisimdan dosyamizi cekecek fonksiyona giris yapiyoruz.
    function dosya_indir($link,$name=null)
    {
    $link_info pathinfo($link); //Yol bilgilerini deðiþkene atýyoruz.
    $uzanti strtolower($link_info[‘extension’]); //Dosyanýn uzantýsýný deðiþkene atýyoruz.
    $file = ($name) ? $name.’.’.$uzanti $link_info[‘basename’];
    $yolcuk “dosya/”.$file// Dosya/ buradan cektigimiz dosyanin kaydedilecegi yeri seciyoruz, sonunda / isareti olmak zorunda ve klasorun yazma izni (777) olmali.
    $curl curl_init($link);
    $fopen fopen($yolcuk,’w’);
    curl_setopt($curlCURLOPT_HEADER,0);
    curl_setopt($curlCURLOPT_RETURNTRANSFER,1);
    curl_setopt($curlCURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
    curl_setopt($curlCURLOPT_FILE$fopen);
    curl_exec($curl);
    curl_close($curl);
    fclose($fopen);
    }
    //cekme islemi bitti sira diger kisimalarda.
    $rasgele_sayi rand(1,10000000); // Rastgele sayi olusturup, degiskene atiyoruz.
    dosya_indir($linkcik,$rasgele_sayi); // ilk satirda get metodu ile aldigimiz linki degiskene atamistik, burada url adresini ve bir onceki sayirda random sayimizi ekliyoruz, inecek dosyayi ve ismini belirliyoruz.
    // islem tamamlandi dosyalar cekildi, simdide cekilen dosyayi ve yeni ismini ekrana yazdiralim..
    echo “Cekilen dosya baglantisi“.$linkcik;
    echo 
    ”
    Yeni dosya ismi
    “.$rasgele_sayi;
    // Bitti: By kuaza dan sevgilerle. Makaleci.com sitesi okurlarina saygilar.. 
    İyi forumlar.

    ( işinize yaradıysa R10+ butonuna basabilirsiniz )
  • 15-01-2015, 14:38:17
    #4
    1/2
    emrahakin adlı üyeden alıntı
    Resim linklerinin hepsi aynı siteden mi?
    evet aynı site

    aliosmanyuksel adlı üyeden alıntı
    Hocam şöyle bir kod buldum. İşinize kesinlikle yarar diye düşünüyorum. Link burda: http://makaleci.com/php-ile-dosya-ce...irme-curl.html


    Tek yapmanız gereken iki fonksiyon oluşturmak. Birinci fonksiyona satır satır txt dosyasını okuma yaparsınız, ikinci fonksiyona da aşağıda belirttiğim fonksiyonu yazarsınız. Ne kadar bilginiz var bilmiyorum PHP konusunda ama sadece ilk satırdaki $_GET[‘v’] yerine txt dosyasındaki her satırı okucak şekilde bir değişken belirtmeniz yeterli olur.

    PHP- Kodu:
    $linkcik=$_GET[‘v’]; // Adres satirindan dosya yolunu aliyoruz ve degisekene atiyoruz.
    // Bi kisimdan dosyamizi cekecek fonksiyona giris yapiyoruz.
    function dosya_indir($link,$name=null)
    {
    $link_info pathinfo($link); //Yol bilgilerini deðiþkene atýyoruz.
    $uzanti strtolower($link_info[‘extension’]); //Dosyanýn uzantýsýný deðiþkene atýyoruz.
    $file = ($name) ? $name.’.’.$uzanti $link_info[‘basename’];
    $yolcuk “dosya/”.$file// Dosya/ buradan cektigimiz dosyanin kaydedilecegi yeri seciyoruz, sonunda / isareti olmak zorunda ve klasorun yazma izni (777) olmali.
    $curl curl_init($link);
    $fopen fopen($yolcuk,’w’);
    curl_setopt($curlCURLOPT_HEADER,0);
    curl_setopt($curlCURLOPT_RETURNTRANSFER,1);
    curl_setopt($curlCURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
    curl_setopt($curlCURLOPT_FILE$fopen);
    curl_exec($curl);
    curl_close($curl);
    fclose($fopen);
    }
    //cekme islemi bitti sira diger kisimalarda.
    $rasgele_sayi rand(1,10000000); // Rastgele sayi olusturup, degiskene atiyoruz.
    dosya_indir($linkcik,$rasgele_sayi); // ilk satirda get metodu ile aldigimiz linki degiskene atamistik, burada url adresini ve bir onceki sayirda random sayimizi ekliyoruz, inecek dosyayi ve ismini belirliyoruz.
    // islem tamamlandi dosyalar cekildi, simdide cekilen dosyayi ve yeni ismini ekrana yazdiralim..
    echo “Cekilen dosya baglantisi“.$linkcik;
    echo 
    ”
    Yeni dosya ismi
    “.$rasgele_sayi;
    // Bitti: By kuaza dan sevgilerle. Makaleci.com sitesi okurlarina saygilar.. 
    İyi forumlar.

    ( işinize yaradıysa R10+ butonuna basabilirsiniz )
    inceliyorum... (yapamadım)
  • 15-01-2015, 15:07:34
    #5
    1/2
    bir kaç tane link gönderin hocam. Örnek yapıp göndereyim size.
  • 15-01-2015, 15:28:42
    #6
    1/2
    <?php
    function aliosmanyuksel() {  
            $dosya = "resimler.txt";
    	$satir_sayisi = count(@file($dosya));
    	$resimler = file_get_contents($dosya);
    	$resim = explode("\n",$resimler);
            $rasgele_sayi = rand(1,10000000);
    	for ($i = 0; $i < $satir_sayisi; $i++) { 
    		dosya_indir($resim[$i],$rasgele_sayi);
    	}  
    }
    
    function dosya_indir($link,$name=null) 
    { 
    $link_info = pathinfo($link); //Yol bilgilerini değişkene atıyoruz. 
    $uzanti = strtolower($link_info[‘extension’]); //Dosyanın uzantısını değişkene atıyoruz.
    $file = ($name) ? $name.’.’.$uzanti : $link_info[‘basename’]; 
    $yolcuk = “dosya/”.$file; // Dosya/ buradan cektigimiz dosyanin kaydedilecegi yeri seciyoruz, sonunda / isareti olmak zorunda ve klasorun yazma izni (777) olmali. 
    $curl = curl_init($link); 
    $fopen = fopen($yolcuk,’w’); 
    curl_setopt($curl, CURLOPT_HEADER,0); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($curl, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0); 
    curl_setopt($curl, CURLOPT_FILE, $fopen); 
    curl_exec($curl); 
    curl_close($curl); 
    fclose($fopen); 
    } 
    
    aliosmanyuksel();
    ?>
    Denemedim ama çalışır sanırım gözden kaçırdığım bir yer yoksa.
  • 15-01-2015, 15:49:04
    #7
    1/2
    aliosmanyuksel adlı üyeden alıntı
    <?php
    function aliosmanyuksel() {  
            $dosya = "resimler.txt";
    	$satir_sayisi = count(@file($dosya));
    	$resimler = file_get_contents($dosya);
    	$resim = explode("\n",$resimler);
            $rasgele_sayi = rand(1,10000000);
    	for ($i = 0; $i < $satir_sayisi; $i++) { 
    		dosya_indir($resim[$i],$rasgele_sayi);
    	}  
    }
    
    function dosya_indir($link,$name=null) 
    { 
    $link_info = pathinfo($link); //Yol bilgilerini değişkene atıyoruz. 
    $uzanti = strtolower($link_info[‘extension’]); //Dosyanın uzantısını değişkene atıyoruz.
    $file = ($name) ? $name.’.’.$uzanti : $link_info[‘basename’]; 
    $yolcuk = “dosya/”.$file; // Dosya/ buradan cektigimiz dosyanin kaydedilecegi yeri seciyoruz, sonunda / isareti olmak zorunda ve klasorun yazma izni (777) olmali. 
    $curl = curl_init($link); 
    $fopen = fopen($yolcuk,’w’); 
    curl_setopt($curl, CURLOPT_HEADER,0); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($curl, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0); 
    curl_setopt($curl, CURLOPT_FILE, $fopen); 
    curl_exec($curl); 
    curl_close($curl); 
    fclose($fopen); 
    } 
    
    aliosmanyuksel();
    ?>
    Denemedim ama çalışır sanırım gözden kaçırdığım bir yer yoksa.
    teşekkür ederim fakat çalışmadı. dosya klasörüne 777 verdim, resimler.txt attım ama olmadı malesef. birde resim isimleri rastgele değilde sırayla olması gerekiyor. txt'deki 1.resimin ismi kelime-1.jpg, 2.resimin ismi kelime-2.jpg tarzı olması gerekiyor.
  • 15-01-2015, 17:06:00
    #8
    1/2
    @Bias08; Tam olarak ne istediğini anlamadım ama bir örnek hazırladım. Bak bakalım istediğini böyle birşey mi?

    <?php 
    function Baglan($url){
    	$curl = curl_init();
    	curl_setopt($curl, CURLOPT_URL, $url);
    	curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
    	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    	curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    	$cikti = curl_exec($curl);
    	curl_close($curl);
    	return str_replace(array("\n","\t","\r"),null,$cikti);
    }
    $Baglan = Baglan("http://www.sabah.com.tr/"); //Sayfaya bağlandık
    preg_match_all('~<img[^>]*(?<!_mce_)src\s?=\s?([\'"])((?:(?!\1).)*)[^>]*>~i', $Baglan, $link); // Sayfadaki tüm resimleri çektik.
    $sira = 1;
    foreach($link[2] as $src)
    {
    		//Bazı linkler bozuktu, o yüzden linkleri kontrol ettirdik resim mi diye
    		$parcala = explode(".",$src); // parçaladık
    		$adet = count($parcala) - 1; // uzantısını aldık
    		if($parcala[$adet] == "jpg") // uzantısı jpg ise
    		{
    		copy($src,"kelime-".$sira.".jpg"); $sira++; // Resmi kaydettik
    		}
    	
    }
    ?>
    Edit// Yanlış anlamışım. linkler txt içindeymiş.

    $linkler = file("linkler.txt");
    foreach($linkler as $src)
    {
    	copy($src,"kelime-".$sira.".jpg"); $sira++;
    		
    }
  • 15-01-2015, 19:04:00
    #9
    1/2
    Php ile bunu yapmak icin ugrasmaya degmez, site adi ve txt icinden iki satir paylasirsan bash scripti yazip gonderirim. Sunucuda calistirdiginda hepsini patir patir ceker
    DigialOcean VPS Stres ve Trafik testleri - Ucız SSD VPS'ler