[PHP] Hjälp med bilduppladdninssida
Hej!
Behöver lite hjälp med ett remote skript, vill ha en till funktion på min sida (liknande imageshack) där man kan ange en URL till en bild så tar min sida den bilden och lagra den.
Detta är en kod jag har fått av en, men den funkar inte, får bara en vit sida.
$allowed = array('jpg', 'jpeg', 'gif', 'png');
if(isset($_POST['REQUEST_METHOD'] == 'url')) {
$ext = array_pop(explode('.',$post['url']));
$filename = basename($_POST['url']);
if(in_array($ext, $allowed) {
file_put_contents('img/' . $newname . '.' . $ext ,file_get_contents($_POST['url']))
} else {
print 'non valid ext';
}
}
men jag vill även att skriptet ska ändra namnet med md5 kryptering.
På den koden jag har nu så får man ladda upp bilden själv och så använder den sig av denna skripten för att ändra namnet
if($_SERVER['REQUEST_METHOD'] == 'POST') {
preg_match('/\.([a-zA-Z]+?)$/', $_FILES['file']['name'], $matches);
if(in_array(strtolower($matches[1]), $accepted)) {
if($_FILES['file']['size'] <= $maxsize) {
$newname = md5_file($_FILES['file']['tmp_name']).'.'.$matches[1];
move_uploaded_file($_FILES['file']['tmp_name'], $filedir.'/'.$newname);
$linkurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).'#'.$newname;
$imgurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).$filedir.'/'.$newname;
$alt = $_POST["alt"];
print '<h2>Bilden laddades upp utan problem!!!!</h2> <p id="codes">
<img src="'.$imgurl.'" height="430" widht="291" alt="Bilden är uppladdad" >
<label for="codedirect">Direkt Länk:</label>
<input type="text" id="codedirect" value="'.$imgurl.'" onclick="javascript:this.focus();this.select();" size="40" readonly="true" /></p>';
} else
print '<h2>Sorry, Max storleken är 1Mb<h2>';
} else
print '<h2>Sorry, Filtypen är inte tillåten.<h2>';
}
och from:en ser ut så här.
<FORM enctype="x-www-form-urlencoded" ACTION="<?php print preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']) ?>" method="url">
<label for="file">Laddar upp bilden genom URL: </label><input type="text" name="file" id="url" />
<br><br><br>
<input name="submit" type="submit" value="Ladda upp...." class="button">
</form>
Tack på förhand!