Toon posts:

[php] upload probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik gebruik de volgende code om plaatjes te uploaden:
PHP:
1
<?$dir="./bor/";if (isset($submit)){copy($userfile,$dir.$userfile_name);    if (!is_uploaded_file ($userfile)){echo " <b>$userfile_name</b> couldn't be copied!!";}}if (is_uploaded_file ($userfile)){echo " <b>$userfile_name</b> copied succesfully!!";}?>

Ik heb een dir genaamd BOR, en het form is ook goed (staat enctype in gedefinieerd, en de velden hebben ook de goede naam).

Hij geeft vervolgens de melding "$userfile_name cpoied succesfully!" , zoals het hoort dus.

Kijk ik in de directory, staat er geen bestand...... Waar is mn bestand dan gebleven?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Beetje brakke code.. Kijk eens in de manual naar een voorbeeld. Let trouwens ook ff op de $_GET en $_POST vars ed

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op donderdag 30 mei 2002 13:29 schreef Janoz het volgende:
Beetje brakke code..
Dus jij bent nu een betere aan het maken? Aan dit commentaar heb ik niet veel eerlijk gezegt... En een antwoord op mijn vraag heb ik ook niet kunnen vinden.

Maar bedankt!

Verwijderd

Op donderdag 30 mei 2002 13:30 schreef ivy het volgende:

[..]

Dus jij bent nu een betere aan het maken? Aan dit commentaar heb ik niet veel eerlijk gezegt... En een antwoord op mijn vraag heb ik ook niet kunnen vinden.

Maar bedankt!
nou nou nou, niet zo snel op je teentjes getrapt :)
hij mag toch wel zeggen dat de code brak is :P (ik refereer bijvoorbeeld naar de if/else statements, twee keer hetzelfde checken, waarom geen else, of een elseif?).
verder zou dit je kunnen helpen om de code wat op te schonen. Hij zei "kijk eens in de manual (php.net) naar een voorbeeld" en "Let ook op $_POST en $_GET vars e.d.". Daarmee zou je er al uit moeten komen...

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:30
Janoz had gewoon een sturende opmerking over uw manier van coderen. Bekijk eens dit topic, en dan vooral de sectie over 'netjes programmeren'.

En als hij zegt dat er in de manual een voorbeeld staat van een oplossing voor uw probleem, dan zal dat vast wel zo zijn. En op de koop toe krijg je nog een tip erbij.

Misschien moet je die manual toch eens bekijken ipv zo heftig te reageren.

https://fgheysels.github.io/


  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Op donderdag 30 mei 2002 13:30 schreef ivy het volgende:

[..]

Dus jij bent nu een betere aan het maken? Aan dit commentaar heb ik niet veel eerlijk gezegt... En een antwoord op mijn vraag heb ik ook niet kunnen vinden.

Maar bedankt!
Het is geen kant en klare oplossing nee, maar wel een antwoord dat je in de goede richting help om betere code te schrijven doordat je het zelf beter begrijpt. Anders blijven wij hier bezig om jouw code te schrijven...

On track


Verwijderd

Wat Janoz bedoelt: RTFM. Daar staat precies uitgelegd hoe dat nou werkt met file-uploads.
http://www.php.net/manual/en/features.file-upload.php

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Op donderdag 30 mei 2002 13:30 schreef ivy het volgende:
Dus jij bent nu een betere aan het maken?
Ik zou het bijna een script-request noemen.
PHP:
1
<?$dir="./bor/";if ((isset ($HTTP_POST_FILES["userfile"])) &amp;&amp; ($HTTP_POST_FILES["userfile"]["tmp_name"] != "none")) {  move_uploaded_file ($HTTP_POST_FILES["userfile"]["tmp_name"], $dir . $HTTP_POST_FILES["userfile"]["tmp_name"]);  echo ("Uploaded file moved succesfully");} // ifelse { echo ("You didn't upload a file or the file couldn't be copied"); }?>

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

ivy:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$dir = "./bor/";

// upload.php?submit=hallo wat dan?
if ( isset($submit) ) { 
   
   // je checkt niet of kopieren goed gaat:
   copy ( $userfile, $dir . $userfile_name ); 

   // ... maar of het bestand geupload is
   if (!is_uploaded_file ($userfile)) {  
    echo " <b>$userfile_name</b> couldn't be copied!!";}
   }
   // en hier nog een keer ? Net ook al gedaan :?
   if (is_uploaded_file ($userfile)) { 
    echo "  <b>$userfile_name</b> copied succesfully!!";
   }
?>
basically:
code:
1
2
3
if ( isset ( $userfile ) && is_uploaded_file ( $userfile ) )
   if ( !move_uploaded_file ( $userfile, "./bor/$userfile_name" ) )
    echo "Uploaden mislukt";

moet genoeg zijn.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Iets waar ik ook even heb moeten op zoeken. Daarom volgende tip:

//Don't you forget to save the tmp file rather then the file
$file_name = $HTTP_POST_FILES['UploadFile']['name'];
$file_temp = $HTTP_POST_FILES['UploadFile']['tmp_name'];

en vervolgens:
move_uploaded_file ( $file_temp , "Upload/".$file_name );

Iedere uploaded file wordt tijdelijk opgeslagen. Je moet natuurlijk manipulaties doen met deze tmp_name en niet met de filename zoals die is ingevuld in het Browse veld.
gl

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

fraggel75:
Je moet natuurlijk manipulaties doen met deze tmp_name en niet met de filename zoals die is ingevuld in het Browse veld.
Tja... md5 hash van de inhoud blijft imo de beste bestandsnaam.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

move_uploaded_file een optie?

Verwijderd

Op donderdag 30 mei 2002 14:16 schreef drm het volgende:

[..]

Tja... md5 hash van de inhoud blijft imo de beste bestandsnaam.
mwua, als je een naam van > 100 regels fijn vind ;)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op donderdag 30 mei 2002 14:22 schreef jurriebur het volgende:

[..]

mwua, als je een naam van > 100 regels fijn vind ;)
MD5 altijd 32 characters... :)

Programmer - an organism that turns coffee into software.


Verwijderd

pompiedompiedom, het was een grapje, hahaha ;)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

jurriebur:
pompiedompiedom, het was een grapje, hahaha ;)
grapjas :+ ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1