我正在尝试编写一种图像上传脚本,该脚本将上传文件并为每个上传的图像写一行描述和所有内容。 现在,如果我使用$ i ++函数,它将总是写$ i = 0,因为没有foreach标记,我真的不知道是否可以在没有数据库等的情况下使用foreach标记这种脚本。< / p>
if ($_FILES[image][size] > 0) {
$ext = end(explode(".", $_FILES[image][name]));
if (strtolower($ext) == 'jpg' || strtolower($ext) == 'png' || strtolower($ext) == 'bmp') {
$tmp = $_FILES[image][tmp_name];
$new = "$folder/" . time() . "_" . base64_encode($_POST[filename]) . "_" . base64_encode($_FILES[image][name]) . ".$ext";
$p_name = $_POST[project_name];
$p_about = $_POST[project_about];
file_put_contents('images.txt', $new . "\r\n", FILE_APPEND);
move_uploaded_file($tmp, $new);
}
header('Location: index.php');
die;
}
$ p_name和$ p_about尚未使用。 我想要的是为每一行写一个唯一的ID而不是项目名称,而不是项目和图像链接,以便在你按功能删除图像时删除特定的行,我将不得不写。
答案 0 :(得分:1)
你可以使用json这样的东西。
<?php
$storage_file = './path/to/storage.json';
touch($storage_file);
$storage = file_get_contents($storage_file);
$storage = json_decode($storage,true);
$storage = empty($storage) ? array() : $storage;
$new_record = array();
$new_record['p_name'] = $_POST[project_name];
$new_record['p_about'] = $_POST[project_about];
$new_record['file'] = $new;
$new_id = count($storage);
$storage[] = $new_record;
file_put_contents($storage_file,json_encode($storage));
echo 'New ID: '.$new_id;
?>