file_put_contents failed to open stream: Invalid

前两天,使用file_put_contents方法, 传入两个实参,将内容写入文件,一直报错php

file_put_contents(E:\config.php,content): failed to open stream: Invalid argument in 。。。python

很少说,一番百度,终于寻得前辈留下的葵花宝典:web

http://www.howtobuildsoftware.com/index.php/how-do/Fp6/php-php-file-put-contents-failed-to-open-stream-invalid-argumentwindows

内容以下:api

Please help! I have tried figuring this out for over an hour What i am trying to do is to get form values via POST, and then put these into a timestamped txt file The error i get is:ui

Warning: file_put_contents(D:\wamp\www\weboldal\hu\php\en\03-14-15-11:08:48.txt): failed to open stream: Invalid argument in D:\wamp\www\weboldal\hu\php\en\formprocessing2.php on line 18this

if ($_POST["type"] == "Type1") {
    print "Type1";
    $filename = date("m-d-y-h:i:s");
    $fullfilename = "D:\\wamp\\www\\weboldal\\hu\\php\\en\\".$filename.".txt";
    print $fullfilename;
    while (file_exists($fullfilename)) {
        print "Please wait a few seconds, server is busy";
        sleep(1);
    }
    $type = $_POST["type"];
    $name = $_POST["name"];
    $email = $_POST["email"];
    $password = $_POST["password"];
    $contents = $type."r\n".$name."r\n".$email."r\n".$password;
    file_put_contents($fullfilename,$contents,LOCK_EX);

EDIT: The problem was that windows would not accept colons in the filename, thanks to user @Hobo Sapiens for pointing that outspa

Best How To 

Windows will reject the filename with the timestamp as it is because of the colons(冒号). Remove those and you should be fine..net

 

 

上面代码:file_put_contents($fullfilename,$contents,LOCK_EX);只是多传入LOCK_EX这个参数,在文件写入的时候进行锁定,问题解决!code

可是,疑问也来了,

colons(冒号)LOCK_EX锁定有啥联系?

求大神稍稍指点迷津

相关文章
相关标签/搜索