我目前正在尝试在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' );
任何帮助都会很棒。
答案 0 :(得分:0)
是我还是您在复制行中切换了源文件和目标文件:
copy( $output_dir . $filename, $file_dir . $file_category . '/' . $filename . '.pdf' );
PHP文档说参数是这样的:
copy(字符串$ source,字符串$ dest [,资源$ context]):bool
但是您的第一个参数使用“ $ output_dir”(可能只是您的变量名)
如果不是这种情况,那么知道您从哪里获得“ $ filename”将很有帮助,因为您没有在代码中的任何地方对其进行验证,因此仅验证“ $ file_category”。您确定源文件确实存在并具有内容吗?