Birisi benim kod düzeltmek yardımcı olabilir?

4 Cevap

Ben bu kod ben üzerinde çalışıyorum ama çalışmak için bir sabit zaman yaşıyorum var. Ben bir tane yaptım ama sadece php 5.3 çalışır ve benim ev sahibi sadece php 5.0 destekler fark! Ben sadece lol kaybetti ve yorgun değilim, ben doğru benim sever üzerinde çalışmak için alabilir görmek için çalışıyordu yok

Ol, üzgünüm stackoverflow benim için yeni bir şey. Bunu düşünmek için nasıl emin değil. Bir forumda ya da bir soru göndermek için bir yer olarak ... hmmm, ben soran benim yöntemi ile kaba davrandığım için özür dilerim.

Bana doğru ben bu kodu yazdım nasıl dizin yapılarını eklemek için bazı rehberlik verebilir i merak ediyordum. Benim dosyaları ve etajer yüklemek için, ben sıralamak benim hataların bazıları bana yardımcı oldu bir arkadaşımdan yardım aldım PHP anlatmak için nasıl emin değildi, ama ben hala bağlantısını, mkdir ve bağlantı ile uğraşan kayboluyorum fonksiyonları. Bu benim diretories başvurmak için varsayalım am nasıl mı?

Php 5.3 _ DIR _ ve php 5.0 kullanımı dirname (__ dosya_ _) kullanır biliyorum, ben de denedim ve ben aynı hataları almak. Benim dosya test amaçlı 0777 için ayarlanır. Ne şimdi benim yüklenen dosya yazmak ve taşımak isteyen ile sorun olabilir?

    } elseif ( (file_exists("\\uploads\\{$username}\\images\\banner\\{$filename}")) || (file_exists("\\uploads\\{$username}\\images\\banner\\thumbs\\{$filename}")) ) {

        $errors['img_fileexists'] = true;
    }

    if (! empty($errors)) { 
        unlink($_FILES[IMG_FIELD_NAME]['tmp_name']); //cleanup: delete temp file
    }

    // Create thumbnail
    if (empty($errors)) {

        // Make directory if it doesn't exist
        if (!is_dir("\\uploads\\{$username}\\images\\banner\\thumbs\\")) {

            // Take directory and break it down into folders
            $dir = "uploads\\{$username}\\images\\banner\\thumbs";
            $folders = explode("\\", $dir);

            // Create directory, adding folders as necessary as we go (ignore mkdir() errors, we'll check existance of full dir in a sec)
            $dirTmp = '';
            foreach ($folders as $fldr) {
                if ($dirTmp != '') { $dirTmp .= "\\"; }
                $dirTmp .= $fldr;
                mkdir("\\".$dirTmp); //ignoring errors deliberately!
            }

            // Check again whether it exists
            if (!is_dir("\\uploads\\$username\\images\\banner\\thumbs\\")) {
                $errors['move_source'] = true;
                unlink($_FILES[IMG_FIELD_NAME]['tmp_name']); //cleanup: delete temp file
            }
        }

        if (empty($errors)) {

            // Move uploaded file to final destination
            if (! move_uploaded_file($_FILES[IMG_FIELD_NAME]['tmp_name'], "/uploads/$username/images/banner/$filename")) {
                $errors['move_source'] = true;
                unlink($_FILES[IMG_FIELD_NAME]['tmp_name']); //cleanup: delete temp file

            } else {

                // Create thumbnail in new dir
                if (! make_thumb("/uploads/$username/images/banner/$filename", "/uploads/$username/images/banner/thumbs/$filename")) {
                    $errors['thumb'] = true;
                    unlink("/uploads/$username/images/banner/$filename"); //cleanup: delete source file
                }
            }
        }
    }

    // Record in database
    if (empty($errors)) {

        // Find existing record and delete existing images
        $sql = "SELECT `bannerORIGINAL`, `bannerTHUMB` FROM `agent_settings` WHERE (`agent_id`={$user_id}) LIMIT 1";
        $result = mysql_query($sql);
        if (!$result) {
            unlink("/uploads/$username/images/banner/$filename"); //cleanup: delete source file
            unlink("/uploads/$username/images/banner/thumbs/$filename"); //cleanup: delete thumbnail file
            die("<div><b>Error: Problem occurred with Database Query!</b><br /><br /><b>File:</b> " . __FILE__ . "<br /><b>Line:</b> " . __LINE__ . "<br /><b>MySQL Error Num:</b> " . mysql_errno() . "<br /><b>MySQL Error:</b> " . mysql_error() . "</div>");
        }
        $numResults = mysql_num_rows($result);
        if ($numResults == 1) {
            $row = mysql_fetch_assoc($result);

            // Delete old files
            unlink("/uploads/$username/images/banner/" . $row['bannerORIGINAL']); //delete OLD source file
            unlink("/uploads/$username/images/banner/thumbs/" . $row['bannerTHUMB']); //delete OLD thumbnail file
        }

        // Update/create record with new images
        if ($numResults == 1) {
            $sql = "INSERT INTO `agent_settings` (`agent_id`, `bannerORIGINAL`, `bannerTHUMB`) VALUES ({$user_id}, '/uploads/$username/images/banner/$filename', '/uploads/$username/images/banner/thumbs/$filename')";
        } else {
            $sql = "UPDATE `agent_settings` SET `bannerORIGINAL`='/uploads/$username/images/banner/$filename', `bannerTHUMB`='/uploads/$username/images/banner/thumbs/$filename' WHERE (`agent_id`={$user_id})";
        }
        $result = mysql_query($sql);
        if (!$result) {
            unlink("/uploads/$username/images/banner/$filename"); //cleanup: delete source file
            unlink("/uploads/$username/images/banner/thumbs/$filename"); //cleanup: delete thumbnail file
            die("<div><b>Error: Problem occurred with Database Query!</b><br /><br /><b>File:</b> " . __FILE__ . "<br /><b>Line:</b> " . __LINE__ . "<br /><b>MySQL Error Num:</b> " . mysql_errno() . "<br /><b>MySQL Error:</b> " . mysql_error() . "</div>");
        }
    }

    // Print success message and how the thumbnail image created
    if (empty($errors)) {
        echo "<p>Thumbnail created Successfully!</p>\n";
        echo "<img src=\"/uploads/$username/images/banner/thumbs/$filename\" alt=\"New image thumbnail\" />\n";
        echo "<br />\n";
    }
}

Ben aşağıdaki hataları alıyorum:

Warning: move_uploaded_file(./uploads/saiyanz2k/images/banner/azumanga-wall.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /services7/webpages/util/s/a/saiya.site.aplus.net/helixagent.com/public/upload2.php on line 112 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/services/webdata/phpupload/phpVoIEQj' to './uploads/saiyanz2k/images/banner/azumanga-wall.jpg' in /services7/webpages/util/s/a/saiya.site.aplus.net/helixagent.com/public/upload2.php on line 112

4 Cevap

Bir yolu, belirli bir komut / fonksiyon kullanımı için uygun olup olmadığını sizin kodu içinde kontrol etmektir. Bunun için örneğin function_exists işlevini kullanabilirsiniz:

if (function_exists('date_default_timezone_set'))
{
  date_default_timezone_set("GMT");
}
else
{
  echo 'date_default_timezone_set is not supported....';
}

Ahh! Özür dilerim, çocuklar benim hayal kırıklığı havalandırma istemedim. Ama şimdi öyle görünüyor saat boyunca bu olmuştur.

I gibi bu kod eserlerini sözü ancak benim sunucu seçici olduğundan ben kullanıcı ben kodlu 5.3 sözdizimi olamaz. Bu benim sunucu olan 5.0 php üzerinde çalışması yapmak için benim girişimi olduğunu.

Özellikle ben mkdir () ve unlink () işlevleri ile yanlış bir şey olduğunu düşünüyorum.

Eğer test / test ile giriş www.helixagent.com giderseniz sonra url sonra bana hataları onun atma göreceksiniz / upload2.php gidin.

i 5.3 ve DIR kullanın ama 5.0 üzerinde değilim çünkü ben farklı bir yöntem denedi eğer iyi, mükemmel çalışıyor

i olsun hataları

Warning: move_uploaded_file(./uploads/saiyanz2k/images/banner/azumanga-wall.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /services7/webpages/util/s/a/saiya.site.aplus.net/helixagent.com/public/upload2.php on line 112

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/services/webdata/phpupload/phpVoIEQj' to './uploads/saiyanz2k/images/banner/azumanga-wall.jpg' in /services7/webpages/util/s/a/saiya.site.aplus.net/helixagent.com/public/upload2.php on line 112

Eğer klasöre erişimi olan (ya da dosya) yok gibi görünüyor

/ Uploads / $ username / images / afiş / $ dosya

çünkü ev sahibi veya os sadece bir eksik izni (örn. ana dizin / services / webdata / leve olmayabilir) bir basedir kısıtlama olabilir ki.

777 yüklenenler / (geçici) set izni / deneyin veya bir basedir kısıtlama olup olmadığını görmek için konsoldan çalıştırabiliriz.

Hata iletileri yolları daha yakından bir göz atın:

./uploads/saiyanz2k/images/banner/azumanga-wall.jpg
/services7/webpages/util/s/a/saiya.site.aplus.net/helixagent.com/public/upload2.php

Hedef göreceli bir yol, 's dizini upload2.php büyük olasılıkla göredir. Gördüğüm tek göreli yolu hattıdır:

        // Take directory and break it down into folders
        $dir = "uploads\\{$username}\\images\\banner\\thumbs";

Muhtemelen olmalıdır: Hangi

        // Take directory and break it down into folders
        $dir = "\\uploads\\{$username}\\images\\banner\\thumbs";

Aslında bu olmalıdır

        $dir = "/uploads/{$username}/images/banner/thumbs";

PHP ters eğik çizgi, yalnızca MS platformlarda desteklenir iken, tüm platformlarda dizin ayırıcı olarak eğik çizgi kullanarak destekliyor.