• 09-03-2013, 14:55:31
    #1
    Merhaba,
    Benim iki farklı firmada hostingim var. Ben A firmasındaki hostingime yüklediğim php dosyayı çalıştırarak, B firmasındaki hostimde bulunan index.html dosyasının adını index2.html yapabilir miyim? Bunun için gerekli olan nedir?

    Birde yine A firmasındaki bir php dosyası ile B firmasındaki hostingimin erişime açık olup olmadığını öğrenebilir miyim? Acaba file_exists(); ile mesela index.php varmı yok mu diye kontrol ettirsem hostingin ne durumda olduğunu öğrenmiş olur muyum?

    Şimdiden herkese teşşekür eder, hayırlı günler dilerim
  • 09-03-2013, 14:58:44
    #2
    php'nin ftp fonksiyonlarını kullanarak yapabilirsin.

    
    <?php
    $eskisi = 'somefile.txt.bak';
    $yenisi = 'somefile.txt';
    
    // Temel bağlantıyı kuralım
    $conn_id = ftp_connect($ftp_server);
    
    // kullanıcı adı ve parola ile oturum açalım
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
    
    // Dosya ismini $yenisi yapalım
    if (ftp_rename($conn_id, $eskisi, $yenisi)) {
     echo "$eskisi dosyasının ismi $yenisi olarak değiştirildi\n";
    } else {
     echo "$eskisi dosyasını ismi $yenisi ile değiştirilirken bir sorun çıktı\n";
    }
    
    // bağlantıyı kapatalım
    ftp_close($conn_id);
    ?>
    http://php.net/manual/tr/function.ftp-rename.php
  • 09-03-2013, 15:04:12
    #3
    Hocam çok teşekkür ederim hallettim, çok sağolun

    Diğer sorum hakkında bir fikriniz var mı acaba?
  • 09-03-2013, 15:29:27
    #4
    2. soruna gelince hostingin / domainin aktif olup olmadığını öğrenmenin bir kaç yolu var

    ping atabilirsin (ama hostunda exec aktif olmalı);
    if( exec("ping 93.89.226.24") ) {
      echo exec("ping 93.89.226.24");
    } else {
     echo "bağlanılamadı";
    }
    curl ile bağlanabilirsin (curl aktif olmalı ve daha hızlıdır)
    function SiteKontrol($url=NULL)  
    {  
        if($url == NULL) return false;  
        $ch = curl_init($url);  
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);  
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
        $data = curl_exec($ch);  
        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);  
        curl_close($ch);  
        if($httpcode>=200 && $httpcode<300){  
            return true;  
        } else {  
            return false;  
        }  
    }
    
    
    if(SiteKontrol("http://www.siteadresi.com/dosyaadi.php")){
    	echo "sorun yok";
    } else {
    	echo "sorun var";
    }
  • 09-03-2013, 15:38:06
    #5
    Çok teşekkür ederim çok sağolun. Curl'ü tercih ettim