fájlfeltöltési probléma
Sziasztok!!
csináltam egy formot, amihez dinamikusan rakhatom hozzá a fájlbeviteli mezőket, ezeknél rendre name="1,2,..."
Egy php scripttel végigszaladok aztán a $_FILES tömbön, és berakom a fájlokat a helyükre. Illetve beraknám, mert valami huncut hibát jelez a dolog.
A extrajó szolgáltatónál, aminek nem írom le a nevét máshol működött a feltöltés...
a script, amivel ügyködök, így néz ki:ez a következő kimetetet adja:
...
valamit elszúrtam itt: 1. Ide próbáltam rakni: './galleries/kep1.JPG'
Array
(
[name] => IMGP0238.JPG
[type] => image/jpeg
[tmp_name] => /nfs/extra/****/phpHUm929
[error] => 0
[size] => 176286
)
valamit elszúrtam itt: 2. Ide próbáltam rakni: './galleries/kep2.JPG'
Array
(
[name] => IMGP0253.JPG
[type] => image/jpeg
[tmp_name] => /nfs/extra/****/phpILg66k
[error] => 0
[size] => 378639
)
...
(a scriptet leegyszerűsítettem)
Máshol működik a tárhelyen feltöltés, ott így néz ki a dolog:Szerintem a _FILES-ben való iteráción kívül minden stimmel, az iterációt pedig a virágnak megtiltani nem lehet...
V
Feltevésem szerint a move_uploaded_file -ig minden okés... Van mód rá, hogy abból több információt nyerjek?
■ csináltam egy formot, amihez dinamikusan rakhatom hozzá a fájlbeviteli mezőket, ezeknél rendre name="1,2,..."
Egy php scripttel végigszaladok aztán a $_FILES tömbön, és berakom a fájlokat a helyükre. Illetve beraknám, mert valami huncut hibát jelez a dolog.
A extrajó szolgáltatónál, aminek nem írom le a nevét máshol működött a feltöltés...
a script, amivel ügyködök, így néz ki:
<?php
$kezdet = 1;
for ($i = $kezdet; $_FILES[$i]; $i++) {
$uploadfile = "./kepek/kep" . $i . "." . getextension($_FILES[$i]['name']);
if (move_uploaded_file($_FILES[$i]['tmpname'],$uploadfile)) {
echo "A(z) " . $i . ". számú fájlt sikeresen feltöltöttem...<hr/>";
} else {
echo "<hr/> valamit elszúrtam itt: " . $i . ". Ide próbáltam rakni: '" . $uploadfile . "'<br/><pre>"; print_r($_FILES[$i]); echo "</pre>\n";
}
}
?>
...
valamit elszúrtam itt: 1. Ide próbáltam rakni: './galleries/kep1.JPG'
Array
(
[name] => IMGP0238.JPG
[type] => image/jpeg
[tmp_name] => /nfs/extra/****/phpHUm929
[error] => 0
[size] => 176286
)
valamit elszúrtam itt: 2. Ide próbáltam rakni: './galleries/kep2.JPG'
Array
(
[name] => IMGP0253.JPG
[type] => image/jpeg
[tmp_name] => /nfs/extra/****/phpILg66k
[error] => 0
[size] => 378639
)
...
(a scriptet leegyszerűsítettem)
Máshol működik a tárhelyen feltöltés, ott így néz ki a dolog:
$uploadfile = mres("uploads/" . $sorszam . "_" . $user . "_" . $title . "." . getextension($_FILES['tetel']['name']));
if (move_uploaded_file($_FILES['tetel']['tmp_name'], $uploadfile)) {
echo "UPLOAD_OK\n";
$meret = filesize($uploadfile);
$datum = date("Y-m-d H:i:s");
$path=$uploadfile;
if (mysql_query("INSERT INTO tetelek VALUES('','$sorszam','$title','$tantargy','$path','$user','$meret','$datum')")) {
echo "DATABASE OK";
} else {
echo "DATABASE ERROR!";
}
} else {
echo "FILE ERROR";
}
V
Feltevésem szerint a move_uploaded_file -ig minden okés... Van mód rá, hogy abból több információt nyerjek?
Jogosultságok?
tmp nincs; könyvtárjognak jónak kell lennie
tmp könyvtárra eddig nemigen volt szükség, a másik script gond nélkül megy...
meddig marad a tmpfile a helyén?
szomorú (?), de igaz - megvan a megoldás
nem $_FILES[$i]['tmpname'], hanem $_FILES[$i]['tmp_name']
...legközelebb postolás előtt bitwise hasonlítom össze őket.... _shame_
Nem látom a file-t!
Én még kezdő vagyok a programozásban és lenne egy olyan kérdésem, hogy miért nem látom a feltöltött file-t a célkönyvtárban?Mit ronthattam el?
Másik kérdésem, hogy tudok jogosultságot adni mondjuk a tmp könyvtárnak a total commanderrel?Csatolom a php kódot,előre is köszi!
<?
function feltoltes($filename,$newname) {
$_FILES[temp_file] = "/home/hosting/free/hostname/tmp/" . basename($filename);
$_FILES[$new_file] = "/home/hosting/free/hostname/feltoltes/ide/" . ($newname);
copy($temp_file, $new_file);
return;
}
if (!isset($ujnev) | $ujnev=="") {
$ujnev = $eztkell_name;
}
feltoltes($eztkell,$ujnev);
?>
<HTML>
<BODY>
<h2 align=center>A másolás sikeres!</h2>
<p align=center>
<br><br>
Az eredeti fájl neve: <?= $eztkell_name?><br>
Az új fájl neve: <?= $ujnev?><br>
A feltöltött fájl mérete: <?= $eztkell_size?><br>
A fájl típusa: <?= $eztkell_type?><br>
</p>
</BODY>
</HTML>
Új kérdés, új téma.
Miért nem kapok választ?
Azért nem kapok választ mert most tanulom a php-t, vagy miért?
Fórum használat
Hogy hasznos is legyek:
Teljesen rosszul használod a $_FILES tömböt, gyakorlatilag elrontod, ezért nem működik a file feltöltésed. Olvasd el a manual erre vonatkozó fejezetét: File feltöltés
Elnézést