我有一个结构就像的数组 $data = array{0=>'abc',1=>xyz,2=>tqs}
现在我需要将这些值写入csv文件.我需要在第一列中显示每个值,并且每次在新插入时都有新行以及之前已有的值.
下面是我正在使用的代码,但每次执行它时,我都会得到文件中的最后一个值:
for ($c=0; $c < $num; $c++) {
echo $data[$c];
echo $query = "select prod_sku,prod_name
from
tbl_product
where
prod_sku = '".$data[$c]."'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if(empty($row)){
print_r($row);
echo 'test';
$fp = fopen("file.csv", "w");
print_r($data[0]);
fputcsv($fp, $data[0]);
fclose($fp);
}
Run Code Online (Sandbox Code Playgroud)
我如何使用PHP实现这一目标?
我在这里使用一些代码,将mysql查询数据传输到json数据并写入文件.问题出在哪儿?为什么文件是零kb?
while($row = mysql_fetch_array($Query)){
$arr = array ('name'=>$row['name']);
$jsondata = json_encode($arr);
$countfile="data.txt";
if(!file_exists($countfile))
{
fopen($countfile,"w");
}
$fp = fopen($countfile, 'r');
fwrite($fp, $jsondata);
fclose($fp);
}
Run Code Online (Sandbox Code Playgroud) 我有以下PHP代码:
$filename = '/front/style.css';
$cssfile='#h1{font-size:12px}';
if($id_file=fopen($filename, "w+"))
{
echo'file exist';
$id_file=fopen($filename, "w+");
flock($id_file,1);
fwrite($id_file,$cssfile);
flock($id_file,3);
fclose($id_file);
}
else
{
echo "file don t exist";
}
Run Code Online (Sandbox Code Playgroud)
我的文件是空的但有空格.我的文件存在且可写.我的apache日志中没有任何内容.我使用Mamp和php 5.3.2.
有任何想法吗 ?谢谢
我目前有一个 fwrite,它在填写表单时发生,我想将填写表单的当前日期放在 fwrite 中,我该怎么做?
fwrite($fh, "$firstname\r\n $lastname\r\n $email\r\n $zipcode\r\n $feedback\r\n \r\n");
Run Code Online (Sandbox Code Playgroud) 我fwrite()用来在循环中将数据写入文件.它重复了40次,但在fwrite()最后几个KB中没有写入文件.连续fwrite()工作正常.当我运行单个块时,4000字节fwrite()返回4000,但文件内容小于4000(接近3000字节).同时也没有报告错误perror().请帮助我,并提前感谢.
有人可以告诉我为什么这个功能不起作用?我只是无法得到它......
void writeRegister(FILE *arq, Book *L){ //writes in actual file position
char c = '|';
int sizeRegWrite = reglen(L); //reglen() returns the size of Book
fwrite(&sizeRegWrite, sizeof(int), 1, arq);
fwrite(L->TITLE, sizeof(char), strlen(L->TITLE), arq);
fwrite(&c, sizeof(char), 1, arq); //writing delimiter
fwrite(L->AUTHOR, sizeof(char), strlen(L->AUTHOR), arq);
fwrite(&c, sizeof(char), 1, arq); //writing delimiter
fwrite(L->PUBLISHER, sizeof(char), strlen(L->PUBLISHER), arq);
fwrite(&c, sizeof(char), 1, arq); //writing delimiter
fwrite(L->YEAR, sizeof(int), 1, arq);
fwrite(&c, sizeof(char), 1, arq); //writing delimiter
fwrite(L->LANGUAGE, sizeof(char), strlen(L->LANGUAGE), arq);
fwrite(&c, sizeof(char), 1, arq); //writing delimiter
fwrite(L->PAGES, …Run Code Online (Sandbox Code Playgroud) 我正在使用最新版本的PHP ..我坚持这个错误
警告:fwrite()期望参数1是资源,c:\中给出的字符串这个错误显示了我6次
警告:fclose()期望参数1是资源,在//此错误reapeat中给出的字符串只有一次.
我想获取最后一行的最后一个ID,但我面临的错误..这是我的PHP代码:
<?php
include_once('../../fucrenzione.php');
/*
$codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$codeAlphabet.= "abcdefghijklmnopqrstuvwxyz";
$codeAlphabet.= "0123456789";*/
$filename ="data.txt" or die("Unable to open file!");
$line="";
fopen($filename, 'a+');
for($i=0;$i<=5;$i++ ){
$va=rand(1,20);
$re= rand(2,50);
$data = [
'val1' => $va,
'val2' => $re,
'body' => getToken(10),
'Id'=> $i,
'timestamp' => time()
];
/* echo "<pre>".*/$line = serialize($data);
$line .= "\n";
fwrite($filename, $line);
}
fclose($filename);
?>
Run Code Online (Sandbox Code Playgroud)
我也尝试使用,fputs()但我仍然得到了这个错误.
我编写了一个程序,创建一个结构变量,然后使用函数将其写入文件中fwrite。返回的代码是1(我只写了一个结构体变量)。当我尝试使用函数读取文件时,fread它返回0并且变量未完全填充。
此问题仅针对 Windows。我在 Linux(Ubuntu 虚拟机)上尝试了相同的代码,效果很好。
结构如下:
struct MyStruct
{
char comment[40];
int nbpts;
float time[4096];
float value[4096];
};
FILE* fp = fopen(fileTrace, "w");
fwrite(&var, sizeof(struct MyStruct), 1, fp);
fread(&var, sizeof(struct MyStruct), 1, fp);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
int main(void)
{
FILE *fh = fopen ("file.txt", "w");
if (fh != NULL) {
int i = 0;
while(i < 5){
if (fprintf (fh, "%s", "hello") < 0)
{
fprintf (stderr, "err=%d: %s\n", errno, strerror (errno));
}
if(ferror(fh))
{
printf("wrong\n");
}
sleep(10);
}
}
return(0);
}
Run Code Online (Sandbox Code Playgroud)
当我在程序运行期间删除文件"file.txt"时,我希望fprintf返回小于0的值以打印错误消息.但是fprintf总是返回"hello"字符串的大小,即5.
注意:由于有10秒的睡眠调用,我在程序终止之前删除了该文件.
如果fprintf/fwrite写入不再存在的文件(由文件描述符指向),请说明如何生成错误消息.
我有一个列表,如:
[[A], [B], [A,B], [B], [C], [A, B, C], [C, A]]
Run Code Online (Sandbox Code Playgroud)
我想把它写成CSV文件,如:
A,
B,
A,B,
B,
C,
A,B,C,
C,A,
Run Code Online (Sandbox Code Playgroud)
请考虑我有556,375个列表,每个列表包含至少20个变量.