Toon posts:

PHP, upload probleem: unable to open

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik draai thuis zelf een linux server met apache en heb nu een upload scriptje gemaakt wat daar maar niet op wil werken.

Ik draai m'n apache server niet in safe mode, de directory waarin ik 'm probeer te plaatsen bestaat en die heb ik 777 gechmod, dus daar ligt het niet aan.

Dit is hoe ik het doe:
<?php
include "../common.php";

if (!isset($userfile)) die("Er is geen file geselecteerd.<br><br>Klik op terug om het nogmaal te proberen.<br><br><br><center><a href=\"javascript:history.back()\">TERUG</a></center>");

// The directory to place the uploaded file in.
$uploadsDirectory = $root."/fotos/";
// Copy the file to it's new destination
copy ($userfile, $uploadsDirectory.$bestandsnaam) or die($uploadsDirectory.$bestandsnaam);
?>

Als foutmelding krijg ik:
Warning: Unable to open 'C:\\marty.jpg' for reading: No such file or directory in blablabla on line 9

Het lijkt me ook dat daar niet C;\\ moet staan maar C:\
Anyways,...weet iemand een oplossing?

btw, doordat ik or die($uploadsDirectory.$bestandsnaam); doe zie ik op m'n scherm dat ie zeker naar de goede directory verwijst.
Ik heb overigens ook move_uploaded_file(); geprobeerd, maar dat hielp ook niet - die gaf niet eens een foutmelding, maar uploadde ook niets.

(probeer de file vanaf m'n w2k bak te uploaden)

  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 15:17
Ik denk dat deze in webscripting forum hoort, maar ik probeer je toch even te helpen:
Wat gebeurd er als je een bestand probeerd te uploaden wat in een sub dir staat?

Verwijderd

Topicstarter
grappig, dan krijg ik dit:
Warning: Unable to open 'C:\\t\\go.gif' for reading:

zet ie dus 2x teveel \\ neer....

ik zal 'm ook even in het webscripting forum plaatsen trouwens. beetje dom van me...

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Dit heeft niets met webscripting te maken, maar alles met linux kennis.

Ik heb iig nog nooit van een device 'c:\' gehoord onder linux (en de meeste (alle?)) unices.

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 14-08 11:17

DizzyWeb

Ondertiteld

Die file die je wil kopieren, moet eerst geupload zijn...
Je kopieert in je script dus NIET de file vanaf je Win2k bak, maar een geupload bestand in een temp dir.

Zie http://nl.php.net/manual/en/features.file-upload.php hoe het wel werkt ;)

Verwijderd

Topicstarter
ja wel, maar dat gedeelte heb ik weg gelaten, dat leek me niet relevant. Hoe denk je dat ik aan die bestandsnaam kom?
ik heb uiteraard een scriptje waarmee ik een formulier maak wat me in staat stelt een betand te selecteren en op verzenden te klikken. op het moment dat ik het verzend kom ik bij dat bovenstaande terecht

Verwijderd

Ik heb soortgelijke code moeten schrijven voor school...

Zet je forms (HTML) code eens neer en nogmaals de PHP code (maar nu tussen [ code ] en [ /code ] tags).

[edit]
Hier code die ik gebruik (zie ook het codebase topic in P&W - daar staat deze code ook).

HTML:
code:
1
2
3
4
5
<form enctype="multipart/form-data" action="pagina.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input type="file" name="imagefile" accept="image/jpeg,jpg">
<input type="submit" value="Submit">
</form>

PHP:
code:
1
2
3
4
5
6
7
8
//make up a filename under $filename
[..]

// write the image data
move_uploaded_file($imagefile, "fotos/$filename");

// de foto staat nu onder de subdirectory fotos/ onder de naam $filename
[..]

Verwijderd

Topicstarter
Het lag er aan dat ik dit niet in m'n form tag had opgenomen:
enctype="multipart/form-data"

nu werkt het.
evengoed bedankt

  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 24-05 21:44

wzzrd

The guy with the Red Hat

Het had dus wél met scripting te maken en niet specifiek met *nix.

  • ge-flopt
  • Registratie: Februari 2001
  • Laatst online: 15:17
Op dinsdag 14 mei 2002 13:03 schreef ACM het volgende:
Dit heeft niets met webscripting te maken, maar alles met linux kennis.

Ik heb iig nog nooit van een device 'c:\' gehoord onder linux (en de meeste (alle?)) unices.
Hmm, dacht dat het bij web scripting enzo hoorde excuses
Pagina: 1