Avatar billede encorez Nybegynder
10. marts 2003 - 17:47 Der er 17 kommentarer og
1 løsning

INPUT=FILE virker ikke

Hej

Jeg har et irriterende problem som jeg vil forsøge at forklare så godt som muligt.

Kort fortalt har jeg en form hvor jeg et alm text input felt til et navn og et file-felt til et billede. Når jeg trykker på submit og sender disse data, bliver de sendt til den samme side som skal modtage dem. Jeg har ikke noget problem med at modtage text-data, problemet er at jeg ikke kan modtage file-data'er (eller at sende dem rigtigt).

Her er mit kode...


Min formular:
<form action="lederne.php" method="post" enctype="multipart/form-data">
  <table border="0" cellspacing="0" cellpadding="3">
  <tr>
    <td>Navn</td>
    <td> <input type="text" name="navn"> </td>
    </tr>
    <tr>
      <td>Billede</td>
      <td><input type="file" name="formdata"></td>
    </tr>
  <tr>
      <td>&nbsp;</td>
      <td align="right">
<input name="opretnyleder" type="submit" id="opretnyleder" value="Opret ny leder" class="knap">
      </td>
    </tr>
  </table>
</form>


Toppen af lederne.php hvor dataerne blive modtaget:

if($opretnyleder){   
  if($formdata){
  echo "formdata ok";
  }else{
  echo "ingen formdata";
  }
  if($navn){
  echo "navn ok";
  }else{
  echo "ingen navn";
  }
$file_code = addslashes(fread(fopen($formdata, "r"), filesize($formdata)));

//her skal variablerne indsættes i db med en query men det er irrelevant
}

Hvis man forsøger at oprette en ny leder, får man resultatet "ingen formdata" og "navn ok". Det burde betyde at den måde jeg sender dataerne på er i orden, da det virker med "navn".

For det andet kommer den fejl:
Warning: filesize() [function.filesize]: Stat failed for (errno=2 - No such file or directory) in /net/users/a40/636/blabla/www/temp/lederne.php on line 37

Warning: fread(): supplied argument is not a valid stream resource in /net/users/a40/636/blabla/www/temp/lederne.php on line 37

Dvs. der er fejl i "$file_code =...." og det er jo egentlig klart nok når den ikke kan modtage data fra felten via $formdata.

Det sjove ved det hele er at jeg bruge ca. nøjagtig den samme kode på en anden site, dog på en ander server ved en anden udbyder. Og der er der ingen problemer.
Det er azero jeg forsøger at køre dette hos. Jeg er kommet over på en server hvor register_global=ON.

Jeg håber nogen kan kommer med forslag eller lige frem en løsning.

Jeg giver kun point hvis jeg får et svar der giver mig vej til løsningen.

Mvh. Simon
Avatar billede bearhugx Nybegynder
10. marts 2003 - 17:49 #1
hvorfor henter du ikke filen ind med
$_FILES['formdata']
Avatar billede bearhugx Nybegynder
10. marts 2003 - 17:50 #2
altså
$formdata = $_FILES['formdata'];
Avatar billede encorez Nybegynder
10. marts 2003 - 17:54 #3
det glemte jeg at sige. Jeg har prøvet at sætte alle de ting foran variabelnavnet; GET, POST, FILES, REQUEST osv. Der er ingen der virker. Det virker som om at min variabel hovedet ikke bliver sendt
Avatar billede bearhugx Nybegynder
10. marts 2003 - 17:56 #4
dvs. at du har forsøgt at hente 'formdata' filen ud af $_FILES arrayen - uden held ???
Avatar billede bearhugx Nybegynder
10. marts 2003 - 17:57 #5
men navn kommer med OK ???
Avatar billede encorez Nybegynder
10. marts 2003 - 18:00 #6
navn-variablen får jeg nemt fat i ved at skrive $navn

Jeg kan ikke det samme med $formdata. Men hvad mener du med at hente data du af $_FILES arrayet??
Avatar billede bearhugx Nybegynder
10. marts 2003 - 18:00 #7
Og files_uploads er sat til on ???
(det kan du se, ved at køre en phpInfo();
Avatar billede schaefner Juniormester
10. marts 2003 - 18:02 #8
azero understøtter ikke fileupload som standard, så skal du skrive til dem for at få lov til det.
Avatar billede encorez Nybegynder
10. marts 2003 - 18:05 #9
hvis det er nødvendigt, så er det sgu da det der er galt. Den er OFF. Det vidste jeg ikke der var noget der hed.

Hvis det er rigtigt, så er de altså nogle botnakker inde ved azerosupport. Jeg har skrevet mails til dem flere gange hvor de siger at det er mig der gør det forkert. Tjaa, jeg vil prøve at skrive til dem, og se hvad der sker.

Mange tak for hjælpen ind til videre, jeg vender tilbage i morgen, når de får det ændret
Avatar billede bearhugx Nybegynder
10. marts 2003 - 18:05 #10
Det jeg mener er, at når man har register_global=on, så bliver alle post/get "tekst" variabler automatisk oprettet

hvis man f.eks. sender
  dosomething.php?navn=Soeren

så bliver der automatisk oprettet en
$navn med værdien "Soeren"

Jeg er dog ikke sikker på at det forholder sig ligesådan, når det kommer til filer

men der gives en mulighed for at få f.eks. POST vaiabler ud med arrayet $_POST og ligeså også med $_FILES

Den måde man henter det ud på er ved at sige
  $variabelnavn = $_FILES['formnavnet_paa_filen'];

dvs.
  $formdata = $_FILES['formdata'];

og hvis variablen $formdata allerede er i brug så prøv
  $fil = $_FILES['formdata'];
Avatar billede schaefner Juniormester
10. marts 2003 - 18:08 #11
http://azero.dk/?/support/programmering/php/phpupload/

"PHP fileupload er desuden slået fra som standard da det skal omgås med varsomhed og en vis dygtighed"
Avatar billede bearhugx Nybegynder
10. marts 2003 - 18:08 #12
schaefner >> der kan du måske være behjælplig .... Hvis register_global er on - bliver der så også oprettet automatiske variabler for filer??
Avatar billede schaefner Juniormester
10. marts 2003 - 18:22 #13
Du burde kunne få variablerne på denne måde så:

$file
$file_name
$file_size
$file_type
Avatar billede encorez Nybegynder
10. marts 2003 - 19:38 #14
jeg er ikke sikker men det lyder sandsynligt at det er fordi file_uploads=OFF. Jeg har skrevet til udbydere og de har allerede skiftet den. Men der kan gå op til 12 timer før det tager effekt
Avatar billede schaefner Juniormester
12. marts 2003 - 12:29 #15
Virker det nu?
Avatar billede encorez Nybegynder
12. marts 2003 - 13:41 #16
Ja, det virker nu. Så det var variablen file_uploads der var problemet. Det er jeg lidt irriteret over de ikke kunne fortælle med ved azeros support.

Efter som det var bearhugx der kom med det rigtige svar, med file_uploads ca. 2 min før schaefner, er det vel rimeligt at bearhugx får pointene. Jeg mangler bare at du bearhugx lægger et svar
Avatar billede bearhugx Nybegynder
12. marts 2003 - 14:10 #17
^svar^
Avatar billede encorez Nybegynder
12. marts 2003 - 16:50 #18
tak til jer begge to
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester