PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

03-10-2006, 19:02
|
Goldenmaumau
Newbie
|
|
Registriert seit: Oct 2006
Beiträge: 10
|
|
Warning: rename() [function.rename]: Unable to access: Liegts am Safe Mode?
Hallo zusammen...
Ich habe ein Problem.
Und zwar arbeite ich zur Zeit an einem kleinen CMS.
Die Bildverwaltung macht hierbei zicken.
Wenn ich ein Bild hochladen möchte, geht das nur in den Überordner "galerie".
Wenn ich dagegen in einen der untergeordneten Ordner ein Bild hochladen möchte,
bzw. per rename() ein vorhandenes Bild verschieben möchte, dann kommt immer die Fehlermeldung:
"Warning: rename() [function.rename]: Unable to access images/galerie/fussball/C-Jugend/C-Junioren.jpg (images/galerie/fussball/C-Jugend) in /mnt/kw2/08/354/00000018/htdocs/upload.php on line 243."
bzw:
"Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access images/galerie/fussball/mysql.jpg (images/galerie/fussball) in /mnt/kw2/08/354/00000018/htdocs/upload.php on line 138"
In Zeile 243 steht folgender Code:
PHP-Code:
if(rename("images/".$bilder, "images/".$tomove.'/'.$realbilder) &&
rename("images/".$thumbbild, "images/".$tomove.'/TN'.$realbilder))
und in Zeile 138:
PHP-Code:
if(move_uploaded_file($_FILES['filename']['tmp_name'], $destination))
Die chmod Rechte habe ich schon min. 5 mal überprüft.
An den Pfadangaben liegt es auch nicht, da es bei mir unter Apache geht. Bloß auf Strato geht es nicht.
Kann das vielleicht mit dem dort eingeschalteten Safe Mode zusammenhängen?
Wenn ja, kann man den umgehen/ändern, oder gibts da trotzdem noch eine andere Möglichkeit?
Falls ihr den Code braucht:
PHP-Code:
<?php
//Bild hochladen
$filename=$_FILES['filename']['name'];
$destination="images/".$ordner."/".$_FILES['filename']['name'];
if(move_uploaded_file($_FILES['filename']['tmp_name'], $destination)) {...}
//Ordner od. Bild verschieben
$tomove=$_POST['tomove'];
if(isset($_POST['ordnerarray'])) {
$ordnerarray=$_POST['ordnerarray'];
foreach($ordnerarray as $ordner1) {
$ordner2=explode('/', $ordner1);
$realordner=$ordner2[count($ordner2)-1];
if(rename("images/".$ordner1, "images/".$tomove.'/'.$realordner)) {...}
}}
if(isset($_POST['bilderarray'])) {
$bilderarray=$_POST['bilderarray'];
foreach($bilderarray as $bilder) {
$bilder2=explode('/', $bilder);
$realbilder=$bilder2[count($bilder2)-1];
$zu_entfernender_string = $bilder2[count($bilder2)-1];
$string_zu_aendern = "TN".$bilder2[count($bilder2)-1];
$zu_aendernder_string = $bilder;
$thumbbild=str_replace($zu_entfernender_string,$string_zu_aendern,$zu_aendernder_string);
echo($thumbbild."<br>");
echo($tomove);
if(rename("images/".$bilder, "images/".$tomove.'/'.$realbilder) &&
rename("images/".$thumbbild, "images/".$tomove.'/TN'.$realbilder)) {...}
}}
Gruß, Maumau
Edit: besser so?^^
Geändert von Goldenmaumau (03-10-2006 um 19:31 Uhr)
|

03-10-2006, 19:07
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Bitte code umbrechen und aufs wesentliche beschränken.
|

03-10-2006, 19:13
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Re: Warning: rename() [function.rename]: Unable to access: Liegts am Safe Mode?
Codewüste hingeklatscht, extra breit, vielen Dank!
|

03-10-2006, 19:32
|
Goldenmaumau
Newbie
|
|
Registriert seit: Oct 2006
Beiträge: 10
|
|
Sodele...
Übersicht verbessert und Code gekürzt.
Hoffe, ihr könnt mir nun weiterhelfen.
Gruß, Maumau
|

03-10-2006, 20:35
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Nennt der dir keinen Grund, warum er auf die Datei nicht zugreifen kann? Wenns am SafeMode liegt, sagt php dir das idr. auch.
Geändert von TobiaZ (03-10-2006 um 20:38 Uhr)
|

03-10-2006, 20:39
|
Slava
PHP Senior
|
|
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
|
|
1)überprüfe mit print_r deine $_FILES
2)kontroliere mit ini_get('max_upload_size') wie gross die upload-Datei sein darf.
|

03-10-2006, 20:39
|
Goldenmaumau
Newbie
|
|
Registriert seit: Oct 2006
Beiträge: 10
|
|
@ Tobiaz: Nein... es kommt einfach nur eine der obigen Fehlermeldungen!
Mehr wird nicht ausgegeben.
@ Slav:
Die $_Files stimmen. Offline gehts ja auch, bloß online gehts nur, wenn
mans in den Ordner "galerie" hochläd.
Und die max. Größe hab ich selbst auf 300 kb gesetzt.
Gruß, Maumau
Geändert von Goldenmaumau (03-10-2006 um 20:42 Uhr)
|

03-10-2006, 20:49
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
setzt den lokalen server mal gleich (also besonders den safemode). vergleiche.
|

03-10-2006, 20:56
|
Goldenmaumau
Newbie
|
|
Registriert seit: Oct 2006
Beiträge: 10
|
|
Dazu muss ich ja die php.ini ändern.
Wie mach ich das bei Apache?
Einfach die php.ini öffnen und bearbeiten?
Gruß, Maumau
|

03-10-2006, 20:58
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Genau und anschließend den Apache restarten.
|

04-10-2006, 15:10
|
Goldenmaumau
Newbie
|
|
Registriert seit: Oct 2006
Beiträge: 10
|
|
Also ich hab jetzt einfach in der php.ini die Zeile mit:
safe_mode = Off
auf On gesetzt.
Aber Apache zeigt mir mit der phpinfo() immer noch an, dass safe_mode ausgeschaltet ist.
Kann ich vielleicht irgendwie die php.ini von Strato herunterladen und die direkt in den Apache einbauen?
Gruß, Maumau
|

04-10-2006, 15:42
|
arkos
PHP Senior
|
|
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
|
|
hast du auch rebootet??
__________________
**********
arkos
**********
|

04-10-2006, 15:47
|
Goldenmaumau
Newbie
|
|
Registriert seit: Oct 2006
Beiträge: 10
|
|
Apache neu gestartet: ja
Mehrfach sogar...
|

04-10-2006, 16:00
|
arkos
PHP Senior
|
|
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
|
|
kleine idee - nur um alles auszuschließen...
rename() ist ja nun nicht wirklich die originäre function, die files verschiebt. was passiert denn, wenn du es mit copy() probierst?
ich glaube selbst nicht, dass es daran liegt - aber man kann ja mal n strohhalm greifen
__________________
**********
arkos
**********
|

04-10-2006, 16:13
|
Goldenmaumau
Newbie
|
|
Registriert seit: Oct 2006
Beiträge: 10
|
|
mit copy selber Fehler:
Unable to access
Edit: Hab gerade per is_writeable() den Ordner überprüft, in den das
Bild verschoben werden soll.
Und das Ergebnis ist "false".
Also muss es doch mit den chmod Rechten zusammenhängen, oder?
Geändert von Goldenmaumau (04-10-2006 um 16:20 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|