PHP:将二进制字符串写入文件

时间:2015-07-17 13:18:05

标签: php file binary fwrite

我在一个字符串中将图像编码为二进制($ binaryImage)。现在我想将它保存在server中的文件中。这是代码,但我得到了结果: fwrite()期望参数1是资源,布尔给定.... 代码错了吗?

            $binary=base64_decode($binaryImage);
            header('Content-Type: bitmap; charset=utf-8');

            $file = fopen('../uploadedImages/'.$filename, 'wb');
            // Create File
            fwrite($file, $binary);
            fclose($file);

(编辑)我也尝试过:

            if($file===false){
                echo "Failed to file";
            }            
            // Create File
            if(fwrite($file, $binary)===false){
                echo "Failed to write";
            }

收到此消息:

fopen(../uploadedImages/FB_IMG_1437004428570.jpg): failed to open stream: No such file or directory in <b>/home/u505221043/public_html/welcom/include/db_functions.php

我的PHP代码在&#34; include&#34;目录。并且&#34; uploadedImage&#34;是777模式。

->include
   ->function.php
->uploadedImages

1 个答案:

答案 0 :(得分:0)

file()在无法打开文件时返回布尔值。

这可能有多种原因,例如路径或权限不正确。

我建议添加一个保护条款,至少可以调试这个问题:

$file = fopen('../uploadedImages/' . $filename, 'wb');
if ($file === false) {
    exit("Failed to file");
}