Hallo jongens, ik zit met een probleem en ik kom er écht niet uit.. Ik heb lopen debuggen, van de grond af weer opbouwen, maar ik kom er niet achter waar nou precies het probleem zit.
Het probleem
Het lijkt erop dat een upload script wat elders op mijn server draait, op een andere locatie niet draait, raar zou ik zeggen, toch? Ik heb echter alles van de grond af gebouwd, en niets werkt.. Via debugging ben ik erachter gekomen dat de waarde voor $HTTP_POST_FILES['file'] gewoon "" is, ofwel niets. Ik hoop dat jullie mij verder kunnen helpen, als volgt de bestanden:
upload_form.php
Niet letten op dat stukje echo bij de file input, dit stukje komt namelijk origineel uit een while functie, maar ik was te lui om hem om te zetten naar HTML (moet toch weer terug naar PHP
)
upload_act.php (momenteel érg kaal, maar ik moet eerst zorgen dat hij überhaupt iets meestuurt.
Als jullie nog meer info nodig hebben, zeg het maar.. Het rare vind ik dus dat het originele script hiervan wel gewoon werkte op een andere locatie op dezelfde webserver (bijv. op www.domain.com werkt het in dit geval niet, maar op subdomain.domain.com wel), ik heb ook dit subdomein bekeken qua verschillen in script maar kan niets vinden
De oplossing
Ik bleek een fout te hebben in mijn script, namelijk dat $HTTP_POST_FILES['name']['file'] verkeerd geschreven was, ['name'] en ['file'] moesten namelijk omgedraaid worden. Dit was een domme fout.
Dit bleek echter niet de oplossing, het bleek namelijk dat $HTTP_POST_FILES wél werkt op mijn subdomein, maar niet op mijn gewone domein. Als oplossing hiervoor moest ik $_FILES ipv. $HTTP_POST_FILES gebruiken, dit loste het probleem voor mij op.
Het goeie script nu is dan ook:
upload_act.php
Het probleem
Het lijkt erop dat een upload script wat elders op mijn server draait, op een andere locatie niet draait, raar zou ik zeggen, toch? Ik heb echter alles van de grond af gebouwd, en niets werkt.. Via debugging ben ik erachter gekomen dat de waarde voor $HTTP_POST_FILES['file'] gewoon "" is, ofwel niets. Ik hoop dat jullie mij verder kunnen helpen, als volgt de bestanden:
upload_form.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <? $i=0; if (isset($_GET['amount'])) { $amount=$_GET['amount']; } else { $amount=1; } ?> <form method="POST" enctype="multipart/form-data" action="upload/<? echo $amount ?>"> <? echo "<input name=\"file\" type=\"file\" size=\"50\">"; ?> <br /><br /> <input type="submit" value="Upload!" name="upload"> </form> |
Niet letten op dat stukje echo bij de file input, dit stukje komt namelijk origineel uit een while functie, maar ik was te lui om hem om te zetten naar HTML (moet toch weer terug naar PHP
upload_act.php (momenteel érg kaal, maar ik moet eerst zorgen dat hij überhaupt iets meestuurt.
PHP:
1
2
3
4
5
6
7
8
| <?php $folder="gallery/uploads"; $r=0; if ($HTTP_POST_FILES['name']['file']=="") { echo "It's not working properly, the files are still empty!"; } ?> |
Als jullie nog meer info nodig hebben, zeg het maar.. Het rare vind ik dus dat het originele script hiervan wel gewoon werkte op een andere locatie op dezelfde webserver (bijv. op www.domain.com werkt het in dit geval niet, maar op subdomain.domain.com wel), ik heb ook dit subdomein bekeken qua verschillen in script maar kan niets vinden
De oplossing
Ik bleek een fout te hebben in mijn script, namelijk dat $HTTP_POST_FILES['name']['file'] verkeerd geschreven was, ['name'] en ['file'] moesten namelijk omgedraaid worden. Dit was een domme fout.
Dit bleek echter niet de oplossing, het bleek namelijk dat $HTTP_POST_FILES wél werkt op mijn subdomein, maar niet op mijn gewone domein. Als oplossing hiervoor moest ik $_FILES ipv. $HTTP_POST_FILES gebruiken, dit loste het probleem voor mij op.
Het goeie script nu is dan ook:
upload_act.php
PHP:
1
2
3
4
5
6
7
8
| <?php $folder="gallery/uploads"; $r=0; if ($_FILES['file']['name']=="") { echo "It's not working properly, the files are still empty!"; } ?> |
[ Voor 21% gewijzigd door Arjan90 op 06-07-2007 10:56 ]
"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."