webForumDet fria alternativet

svårt problem/count, file, upload

5 svar · 315 visningar · startad av Draftracer3

Draftracer3Medlem sedan dec. 200354 inlägg
#1

Ok jag har en massa

<input type=file name=opt11>
<input type=file name=opt12>
<input type=file name=opt13>
<input type=file name=opt14>
<input type=file name=opt15>

osv dem kan nå upp till tusentals. men iaf det finns en bar som heter $count och den håller reda på dem. alltså om $count är 11 då ser det ut så här:

<input type=file name=opt11>
<input type=file name=opt12>
<input type=file name=opt13>
<input type=file name=opt14>
<input type=file name=opt15>
<input type=file name=opt16>
<input type=file name=opt17>
<input type=file name=opt18>
<input type=file name=opt19>
<input type=file name=opt110>
<input type=file name=opt111>

det är opt110 och opt111 för att count läggs på opt1 bara. alltså om count är 12 då blir det opt11 till opt112

Nu kommer vi till det svåra, jag vill att varje opt ska ha sin egen tmp namn och vanliga namn separerade med £ och sen alla andra separerade med ~.... som ska skrivas på en och samma variabel som heter $osp... alltså det ska se ut så här

$count=3
$osp = tname£fname~tname£fname~tname£fname~

exakt exempel

$count=3
$osp = /home/virtual/_tmp/kuhsdfjs£bild1.gif~/home/virtual/_tmp/adfsd£bild2.gif~/home/virtual/_tmp/asdfsdaf£bild3.gif~

Notera att det görs om 3 gånger för att count är 3 och tmp namn (tname) är stället där filen sparas, inte i din server utan i själva huvud servern. vanligt namn (fname) är filens namn till exempel bild4.gif.

Jag har redigerat lite och gjort det tydligare och om ni fortfarande inte fattar då vet jag inte vad som händer.............

aasahMedlem sedan mars 20033 451 inlägg
#2

Re: svårt problem/count, file, upload

Draftracer3 skrev:

... men iaf det finns en bar som heter $count och den håller reda på dem. alltså om $count är 11 då ser det ut så här:

<input type=file name=opt11>
<input type=file name=opt12>
<input type=file name=opt13>
<input type=file name=opt14>
<input type=file name=opt15>
<input type=file name=opt16>
<input type=file name=opt17>
<input type=file name=opt18>
<input type=file name=opt19>
<input type=file name=opt110>
<input type=file name=opt111>

Varför just 110 och 111 i de två sista? Börjar det alltid på samma som count? :q :q

Om ni inte fattar vad jag säger så skriv det så skriver jag så tydligt jag kan (tror inte jag kan tydligare än så men iaf)

Tyvärr fattar jag inte resten heller, så förtydliga gärna! Vadå tmp namn och vanliga namn??? :q

aasahMedlem sedan mars 20033 451 inlägg
#3

Hur förhåller sig tnamn och fnamn till file i opt? :q På vilket sätt vill du "att varje opt ska ha sin egen tmp namn och vanliga namn", dvs var kommer de ifrån? Kan du hitta på tnamn och fnamn eller är de givna? Vad närmare bestämt är det du vill ha hjälp med?

Draftracer3Medlem sedan dec. 200354 inlägg
#4

Svar 1: Eftersom det är en <input type=file> så skickar den med lite info om filen bland annat size (storlek ex. 40 000/40 kb) type (typ ex. gif/jpg).
Svar 2: Varje opt har redan sina tnamn och fnamn jag kan inte ändra på det. men senare när jag vill ladda upp filerna kan jag flytta filen från tmp platsen till en valfri plats i min server.
Svar 3: Jag vill ha en script snutte som läser in alla mina filers namn (kör med namn bara för att kunna göra det lite enklare) och lägger in dem i en och samma variabel. den separerar varje fils namn med ~

Draftracer3Medlem sedan dec. 200354 inlägg
#5

så här långt har jag kommit


$uff=1
$ops1 = $HTTP_POST_FILES["opt1".$uff]["name"] . "£" . $HTTP_POST_FILES["opt1".$uff]["tmp_name"];

den här koden printar ut det här

bild1.gif£/home/virtual/_tmp/phpzro01C

nu vet jag att jag behöver bara göra en for som ska bli lika många gånger som count och varje gång så plusas 1 med uff.
men ok vi säger att jag har gjort allt detta. ($count är 4)

for ($uff = 1; $uff < $count; $uff++) { 
$ops1 = $HTTP_POST_FILES["opt1".$uff]["name"] . "£" . $HTTP_POST_FILES["opt1".$uff]["tmp_name"];
}

hur ska jag samla alla i en och samma variabel när dem egentligen bara är en enda for??? Är det någon som förstår?

MatteMedlem sedan aug. 20002 970 inlägg
#6

Har du en PHP-version äldre än 4.1.0 eftersom du använder $HTTP_POST_FILES i stället för $_FILES ?

Testa något på det här hållet:

$link = array();
foreach ($_FILES as $key => $val) {
   if (is_uploaded_file($_FILES[$key]['tmp_name'])) {
      $link[] = $_FILES[$key]['name'];
   }
}

$link = implode("£", $link);
Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb