PHP - başarısız yazma

2 Cevap php

Ben sıkışmış ve bir el ihtiyacı duyuyorum. Birisi yardımcı olabilir umuyoruz?

Herkes ben bu kodu "yazma başarısız oldu" alıyorum neden herhangi bir fikrin var mı?

$write_file = "/usr/home/public_html/php/users_v2.sql";
$write_handle = fopen($write_file, "w") || die("Couln't open users_v2!");

if (is_writeable($write_file)) {
    if ($write_handle === FALSE) echo 'Failed handle?!';
    if (fwrite($write_handle, "Hi\n") === FALSE) echo "Failed write!\n";
}

fclose($write_handle);

Şimdiden teşekkürler.

2 Cevap

Lütfen dosya tanıtıcı oluştururken OR operatörünü kullanarak, işleme bağlı bir Boole değeri dönüyor. Yani $ write_handle yerine dosya kaynağın, doğru veya yanlış içerecektir. Yazmak için bir dosya açmak ve başarılı olduğunu test etmek için daha iyi bir yolu bu olacaktır:

$write_handle = fopen($write_file, 'w');
if ($write_handle === false)
{
    die('Could not open file ' . $write_file);
}

Ayrıca, sizin için () file_put_contents () Fopen kolları function (), fwrite () ve fclose kullanabilirsiniz. Eğer aynı dosyaya tek bir yazma yürütme eğer yükü çok olacak gibi, bu tavsiye sadece, ve FILE_APPEND bayrağı geçmedikçe, her yazma için dosyayı boşaltacaktır.

Ben her yerde kullanılır gördük ama sorun olduğunu | | die ("adamcağız açık users_v2!");

Önce eklendi:

error_reporting(E_ALL);

hataları raporlama ne php görmek için.

$write_handle = fopen($write_file, "w") || die("Couln't open users_v2!");
fclose($write_handle);

Döndürülen dosya tanıtıcısı "Resource id # x" olduğunu Onsuz. Geçersiz akışı sap hatası ve 1 dosya tanıtıcısı döndürür.

: Satır değişen

$write_handle = fopen($write_file, "w"); // || die("Couln't open users_v2!");

ve kod çalışıyor. Olacak şimdi php.net bu göndermek gidin.