PHP文件未正确复制=>文件为空

时间:2019-07-17 19:26:03

标签: php file directory

我目前正在尝试在PHP中将文件从位置A复制到位置B。文件被复制,但是有0个字节。我很困惑,为什么在此过程之后此文件为空。这是我的代码:

if ( ! file_exists( $file_dir . $file_category ) ) {
    if ( ! mkdir( $file_dir . $file_category, 0777, true ) && ! is_dir( $file_dir . $file_category ) ) {
        throw new \RuntimeException( sprintf( 'Directory "%s" was not created', $file_dir . $file_category ) );
    }
    $data = '<html><body bgcolor="#FFFFFF"></body></html>';
    $file = fopen( $file_dir . $file_category . '/index.html', 'wb' );
    fwrite( $file, $data );
    fclose( $file );
    $data = 'deny from all';
    $file = fopen( $file_dir . $file_category . '/.htaccess', 'wb' );
    fwrite( $file, $data );
    fclose( $file );
}
copy( $output_dir . $filename, $file_dir . $file_category . '/' . $filename . '.pdf' );

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

是我还是您在复制行中切换了源文件和目标文件:

copy( $output_dir . $filename, $file_dir . $file_category . '/' . $filename . '.pdf' );

PHP文档说参数是这样的:

  

copy(字符串$ source,字符串$ dest [,资源$ context]):bool

但是您的第一个参数使用“ $ output_dir”(可能只是您的变量名)

如果不是这种情况,那么知道您从哪里获得“ $ filename”将很有帮助,因为您没有在代码中的任何地方对其进行验证,因此仅验证“ $ file_category”。您确定源文件确实存在并具有内容吗?