Fout bij uploadscript(met resizer)
Heb een uploadscript met resizer gedownload van de script lib hierzo.
Het is een mooi script, maar stuit op een probleempje..
Error! De foto is niet goed geupload of er is helemaal geen foto geupload. Probeer het opnieuw.
Het script is deze:
http://www.phphulp.nl/php/scripts/2/638/
Het is precies wat ik zoek, maar hoe kan ik dit probleem oplossen?
Je moet een map kunnen selecteren, en hij moet kunnen resizen.. De afbeeldingen die er op komen zijn nl. meestal te groot.
De afbeeldingen staan op een Funpic.org site.
Gewijzigd op 01/01/1970 01:00:00 door Durk Houtsma
Post bij je vraag ook altijd wat relevante code, er zullen weinig mensen zin hebben om dat hele script uit te pluizen. Bovendien heb jij er zelf mogelijk wat in veranderd waardoor het niet meer werkt...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//--- errors
if (isset($_POST['submit']))
{
if (file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['name'])
{
echo '<b>Error! Bestand bestaat al, hernoem de foto en probeer het opnieuw.</b><br><br>';
}
elseif ($_FILES['userfile']['size'] > $maxkb)
{
echo '<b>Error! Bestand is groter dan " . $maxkb . "bytes. Verklein de foto en probeer het opnieuw</b><br><br>';
}
elseif (strtolower(substr($_FILES['userfile']['name'], -3)) != "jpg" && strtolower(substr($_FILES['userfile']['name'], -4)) != "jpeg")
{
echo '<b>Error! De foto heeft een verkeerde bestandsnaam. Er mogen alleen bestanden geupload worden met als .jpg of .jpeg als extensie.</b><br><br>';
}
else
{
echo '<b>Error! De foto is niet goed geupload of er is helemaal geen foto geupload. Probeer het opnieuw.</b><br><br>';
}
}
if (isset($_POST['submit']))
{
if (file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['name'])
{
echo '<b>Error! Bestand bestaat al, hernoem de foto en probeer het opnieuw.</b><br><br>';
}
elseif ($_FILES['userfile']['size'] > $maxkb)
{
echo '<b>Error! Bestand is groter dan " . $maxkb . "bytes. Verklein de foto en probeer het opnieuw</b><br><br>';
}
elseif (strtolower(substr($_FILES['userfile']['name'], -3)) != "jpg" && strtolower(substr($_FILES['userfile']['name'], -4)) != "jpeg")
{
echo '<b>Error! De foto heeft een verkeerde bestandsnaam. Er mogen alleen bestanden geupload worden met als .jpg of .jpeg als extensie.</b><br><br>';
}
else
{
echo '<b>Error! De foto is niet goed geupload of er is helemaal geen foto geupload. Probeer het opnieuw.</b><br><br>';
}
}
Alleen zou ik dit stukje moeten zien, op volgorde:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$_SESSION['image'] = $path.$_FILES['userfile']['name'];
echo '<meta http-equiv="refresh" content="2;url=?uploaded=ja">';
echo 'Succesvol geupload, en ogenblik geduld a.u.b.';
}
elseif(isset($_GET['uploaded']) && isset($_SESSION['image']))
{
echo 'De foto is geupload. Je kunt de foto bekijken door op de onderstaande link te klikken:<br />';
echo '<a href="' . $_SESSION['image'] . '">' . $_SESSION['image'] . '</a><p>';
echo '<img src="' . $_SESSION['image'] . '"><p>';
echo '<a href="' . $_SERVER['PHP_SELF'] . '">upload nog een foto</a>';
}
echo '<meta http-equiv="refresh" content="2;url=?uploaded=ja">';
echo 'Succesvol geupload, en ogenblik geduld a.u.b.';
}
elseif(isset($_GET['uploaded']) && isset($_SESSION['image']))
{
echo 'De foto is geupload. Je kunt de foto bekijken door op de onderstaande link te klikken:<br />';
echo '<a href="' . $_SESSION['image'] . '">' . $_SESSION['image'] . '</a><p>';
echo '<img src="' . $_SESSION['image'] . '"><p>';
echo '<a href="' . $_SERVER['PHP_SELF'] . '">upload nog een foto</a>';
}
Hij geeft niet aan dat het succesvol geupload is, hij refresht direct naar de error.
Had alleen de max size gewijzigd, nu even met de beginwaarde van toen ik het downloade proberen..
Gewijzigd op 01/01/1970 01:00:00 door durk Houtsma
Blijkbaar komt je script niet door dat eerste if-statement uit de code heen waardoor altijd het else statement van de foutmeldingen uitgevoerd wordt. Controleer dus eens waarom dat niet gebeurt...
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 14592 bytes) in /usr/export/www/hosting/kbfotografie/uploadresize.php on line 89
Dit heeft met de web ruimte te maken??
btw, Het word soms wel geupload maar krijg de succesvol melding niet.. Alleen maar een wit scherm. De pagina bron is dan ook leeg.
Gewijzigd op 01/01/1970 01:00:00 door durk Houtsma
Het lijkt erop dat de bestanden waarmee je werkt te groot zijn en dat PHP al zijn geheugen verbruikt heeft. Probeer het dus eerst eens met wat kleinere afbeeldingen...
Is het mogelijk om die grote afbeeldingen ook te uploaden via dit script dan?
Zijn ong. 2 mb, en de resize functie verkleint het...
In dat geval zou je dit even bij je host na moeten vragen...
Warning: ini_set() has been disabled for security reasons in /usr/export/www/hosting/kbfotografie/filemanager.php on line 64
Warning: ini_set() has been disabled for security reasons in /usr/export/www/hosting/kbfotografie/filemanager.php on line 65
Regel 64/65..
ini_set("display_errors",1);
ini_set("error_reporting",$error_reporting);
Als ik ini_set verwijderde, werkte het goed.
omdat die filemanager niet de grootte wijzigde, heb ik dit upload script opgezocht.
Heb het nu werkend op me apache servertje.. Toch bedankt voor de hulp.
Gewijzigd op 01/01/1970 01:00:00 door durk Houtsma